def setUp(self):
        self.photo = BasePhoto()
        self.photo.image = lambda _: _
        self.photo.image.url = 'url atrribute'
        self.photo.image.height = 'height atrribute'
        self.photo.image.width = 'width atrribute'
        self.photo.image_height = 'height field'
        self.photo.image_width = 'width field'

        self.photo.backup_image = 'backup image'

        self.get_safe_image = lambda self: self.photo._get_safe_image(
            'image', 'backup_image')
class BasePhotoGetSafeImageTest(TestCase):

    def setUp(self):
        self.photo = BasePhoto()
        self.photo.image = lambda _: _
        self.photo.image.url = 'url atrribute'
        self.photo.image.height = 'height atrribute'
        self.photo.image.width = 'width atrribute'
        self.photo.image_height = 'height field'
        self.photo.image_width = 'width field'

        self.photo.backup_image = 'backup image'

        self.get_safe_image = lambda self: self.photo._get_safe_image(
            'image', 'backup_image')

    def test_no_image_returns_backup_image(self):
        self.photo.image = False

        assert self.get_safe_image(self) == 'backup image'

    @override_settings(CANADA_IMAGE_DIMENSION_FIELDS='_')
    def test_returns_url(self):
        assert self.get_safe_image(self)['url'] == 'url atrribute'

    @override_settings(CANADA_IMAGE_DIMENSION_FIELDS=True)
    def test_returns_dimension_fields(self):
        assert self.get_safe_image(self)['width'] == 'width field'

        assert self.get_safe_image(self)['height'] == 'height field'

    @override_settings(CANADA_IMAGE_DIMENSION_FIELDS=False)
    def test_no_canada_image_dimension_fields(self):
        assert self.get_safe_image(self)['width'] == 'width atrribute'

        assert self.get_safe_image(self)['height'] == 'height atrribute'