Example #1
0
    def test_get_attr_bad(self):
        class Empty(object): pass
        e = Empty()

        with pytest.raises(AttributeError):
            get_attr(e, 'anything')

        e.first = Empty()
        with pytest.raises(AttributeError):
            getattr(e, 'first.anything')
Example #2
0
    def test_get_attr_with_default(self):
        class Empty(object): pass
        e = Empty()

        assert get_attr(e, 'anything', default=mock.sentinel.DEFAULT) == mock.sentinel.DEFAULT

        # default shouldn't hide something that's actually there
        e.anything = mock.sentinel.ANYTHING
        assert get_attr(e, 'anything', default=mock.sentinel.DEFAULT) == mock.sentinel.ANYTHING

        # default should cover deeper lookups
        assert get_attr(e, 'anything.anything', default=mock.sentinel.DEFAULT) == mock.sentinel.DEFAULT
    def test_get_attr_bad(self):
        class Empty(object):
            pass

        e = Empty()

        with pytest.raises(AttributeError):
            get_attr(e, 'anything')

        e.first = Empty()
        with pytest.raises(AttributeError):
            getattr(e, 'first.anything')
    def test_get_attr_with_default(self):
        class Empty(object):
            pass

        e = Empty()

        assert get_attr(e, 'anything',
                        default=mock.sentinel.DEFAULT) == mock.sentinel.DEFAULT

        # default shouldn't hide something that's actually there
        e.anything = mock.sentinel.ANYTHING
        assert get_attr(
            e, 'anything',
            default=mock.sentinel.DEFAULT) == mock.sentinel.ANYTHING

        # default should cover deeper lookups
        assert get_attr(e, 'anything.anything',
                        default=mock.sentinel.DEFAULT) == mock.sentinel.DEFAULT
Example #5
0
 def test_separator_can_be_specified(self, simple_object):
     assert get_attr(simple_object, 'second|first', separator='|') == mock.sentinel.SECOND
Example #6
0
 def test_get_attr_successful_three_level(self, simple_object):
     assert get_attr(simple_object, 'third.first.first') == mock.sentinel.THIRD
Example #7
0
 def test_get_attr_successful_two_level(self, simple_object):
     assert get_attr(simple_object, 'second.first') == mock.sentinel.SECOND
Example #8
0
 def test_get_attr_successful_one_level(self, simple_object):
     assert get_attr(simple_object, 'first') == mock.sentinel.FIRST
 def test_separator_can_be_specified(self, simple_object):
     assert get_attr(simple_object, 'second|first',
                     separator='|') == mock.sentinel.SECOND
 def test_get_attr_successful_three_level(self, simple_object):
     assert get_attr(simple_object,
                     'third.first.first') == mock.sentinel.THIRD
 def test_get_attr_successful_two_level(self, simple_object):
     assert get_attr(simple_object, 'second.first') == mock.sentinel.SECOND
 def test_get_attr_successful_one_level(self, simple_object):
     assert get_attr(simple_object, 'first') == mock.sentinel.FIRST