def test_get_attribute_with_date(self):
     obj = MagicMock(foo=date(2017, 12, 31))
     value, comparison = utils.get_attribute(
         obj, 'foo__' + constants.COMPARISON_YEAR + '__' + constants.COMPARISON_GT
     )
     assert value == date(2017, 12, 31)
     assert comparison == (constants.COMPARISON_YEAR, constants.COMPARISON_GT)
 def test_get_attribute_with_date(self):
     obj = MagicMock(foo=date(2017, 12, 31))
     value, comparison = utils.get_attribute(
         obj, 'foo__' + constants.COMPARISON_YEAR + '__' + constants.COMPARISON_GT
     )
     assert value == date(2017, 12, 31)
     assert comparison == (constants.COMPARISON_YEAR, constants.COMPARISON_GT)
 def test_get_attribute_returns_tuple_with_exact_as_default_comparison(
         self):
     obj = MagicMock(foo=datetime(2017, 1, 1))
     value, comparison = utils.get_attribute(
         obj, 'foo__' + constants.COMPARISON_YEAR)
     assert value == datetime(2017, 1, 1)
     assert comparison == (constants.COMPARISON_YEAR,
                           constants.COMPARISON_EXACT)
 def test_get_attribute_returns_nested_object_value(self):
     obj = MagicMock(child=MagicMock(foo='test'))
     value, comparison = utils.get_attribute(obj, 'child__foo__' + constants.COMPARISON_IEXACT)
     assert value == 'test'
     assert comparison == constants.COMPARISON_IEXACT
 def test_get_attribute_returns_none_with_isnull_comparison(self):
     obj = MagicMock(foo=None)
     value, comparison = utils.get_attribute(obj, 'foo__' + constants.COMPARISON_ISNULL)
     assert value is None
     assert comparison == constants.COMPARISON_ISNULL, comparison
 def test_get_attribute_returns_value_with_defined_comparison(self):
     obj = MagicMock(foo='test')
     value, comparison = utils.get_attribute(obj, 'foo__' + constants.COMPARISON_IEXACT)
     assert value == 'test'
     assert comparison == constants.COMPARISON_IEXACT
 def test_get_attribute_returns_false_when_value_is_false(self):
     obj = MagicMock(foo=False)
     value, comparison = utils.get_attribute(obj, 'foo')
     assert value is False
     assert comparison is None
 def test_get_attribute_returns_value_with_default_comparison(self):
     obj = MagicMock(foo='test')
     value, comparison = utils.get_attribute(obj, 'foo')
     assert value == 'test'
     assert comparison is None
 def test_get_attribute_returns_value_when_spec_set_is_true(self):
     obj = query.MockModel(spec_set=True, foo='foo')
     value, comparison = utils.get_attribute(obj, 'foo')
     assert value == 'foo'
     assert comparison is None
 def test_get_attribute_returns_nested_object_value(self):
     obj = MagicMock(child=MagicMock(foo='test'))
     value, comparison = utils.get_attribute(obj, 'child__foo__' + constants.COMPARISON_IEXACT)
     assert value == 'test'
     assert comparison == constants.COMPARISON_IEXACT
 def test_get_attribute_returns_none_with_isnull_comparison(self):
     obj = MagicMock(foo=None)
     value, comparison = utils.get_attribute(obj, 'foo__' + constants.COMPARISON_ISNULL)
     assert value is None
     assert comparison == constants.COMPARISON_ISNULL, comparison
 def test_get_attribute_returns_value_with_defined_comparison(self):
     obj = MagicMock(foo='test')
     value, comparison = utils.get_attribute(obj, 'foo__' + constants.COMPARISON_IEXACT)
     assert value == 'test'
     assert comparison == constants.COMPARISON_IEXACT
 def test_get_attribute_returns_value_with_default_comparison(self):
     obj = MagicMock(foo='test')
     value, comparison = utils.get_attribute(obj, 'foo')
     assert value == 'test'
     assert comparison is None
 def test_get_attribute_returns_value_when_spec_set_is_true(self):
     obj = query.MockModel(spec_set=True, foo='foo')
     value, comparison = utils.get_attribute(obj, 'foo')
     assert value == 'foo'
     assert comparison is None
 def test_get_attribute_returns_tuple_with_exact_as_default_comparison(self):
     obj = MagicMock(foo=datetime(2017, 1, 1))
     value, comparison = utils.get_attribute(obj, 'foo__' + constants.COMPARISON_YEAR)
     assert value == datetime(2017, 1, 1)
     assert comparison == (constants.COMPARISON_YEAR, constants.COMPARISON_EXACT)
 def test_get_attribute_returns_default_value_when_object_is_none(self):
     obj = None
     default_value = ''
     value, comparison = utils.get_attribute(obj, 'foo', default_value)
     assert value == default_value
     assert comparison is None
 def test_get_attribute_returns_default_value_when_object_is_none(self):
     obj = None
     default_value = ''
     value, comparison = utils.get_attribute(obj, 'foo', default_value)
     assert value == default_value
     assert comparison is None
 def test_get_attribute_returns_false_when_value_is_false(self):
     obj = MagicMock(foo=False)
     value, comparison = utils.get_attribute(obj, 'foo')
     assert value is False
     assert comparison is None