class NestedPathGeneratorTestCase(unittest.TestCase):
    def setUp(self):
        self._path_generator = NestedPathGenerator(FakeImageFormatMapper(), os.path.abspath("/basedir"))
    
    def test_should_return_original_image_path(self):
        self.assertEquals(
            os.path.abspath("/basedir/pictures/66/b1/fb/ce/ca/25/b9/95/78/0a/7a/6f/8f/ea/79/b6/97/ce/cc/66b1fbceca25b995780a7a6f8fea79b697ceccb0.jpg"),
            self._path_generator.original_path(objectmothers.original_yemmagouraya_metadata()).absolute())
        
    def test_should_return_derived_image_path(self):
        self.assertEquals(
            os.path.abspath("/basedir/cache/d8/ae/48/bd/0c/62/ea/68/2c/df/e5/26/ce/df/68/6a/48/04/5a/d8ae48bd0c62ea682cdfe526cedf686a48045a7d-100x100.jpg"),
            self._path_generator.derived_path(objectmothers.derived_100x100_yemmagouraya_metadata()).absolute())
class NestedPathGeneratorTestCase(unittest.TestCase):
    def setUp(self):
        self._path_generator = NestedPathGenerator(FakeImageFormatMapper(),
                                                   os.path.abspath("/basedir"))

    def test_should_return_original_image_path(self):
        self.assertEquals(
            os.path.abspath(
                "/basedir/pictures/66/b1/fb/ce/ca/25/b9/95/78/0a/7a/6f/8f/ea/79/b6/97/ce/cc/66b1fbceca25b995780a7a6f8fea79b697ceccb0.jpg"
            ),
            self._path_generator.original_path(
                objectmothers.original_yemmagouraya_metadata()).absolute())

    def test_should_return_derived_image_path(self):
        self.assertEquals(
            os.path.abspath(
                "/basedir/cache/d8/ae/48/bd/0c/62/ea/68/2c/df/e5/26/ce/df/68/6a/48/04/5a/d8ae48bd0c62ea682cdfe526cedf686a48045a7d-100x100.jpg"
            ),
            self._path_generator.derived_path(
                objectmothers.derived_100x100_yemmagouraya_metadata()).
            absolute())
Exemple #3
0
    def create_image_server(self):
        configure_logging()
        # 1. make sure to initialize the persistence module
        self._engine = create_engine(self._config.dburi,
                                     encoding='utf-8',
                                     echo=False,
                                     echo_pool=False)  # strategy='threadlocal'
        self._sessionmaker = scoped_session(
            sessionmaker(bind=self._engine, autoflush=True, autocommit=False))
        persistence.init(sessionmaker=self._sessionmaker)

        # 2. We should then be able to use the persistence module
        from pymager.persistence.impl.sqlalchemyschemamigrator import SqlAlchemySchemaMigrator
        from pymager.persistence.impl.sqlalchemyimagemetadatarepository import SqlAlchemyImageMetadataRepository

        self._image_format_mapper = resources.ImageFormatMapper(
            PilImageFormatMapper())
        self._path_generator = resources.PathGenerator(
            NestedPathGenerator(self._image_format_mapper,
                                self._config.data_directory))
        self._session_template = persistence.SessionTemplate(
            self._sessionmaker)
        self._schema_migrator = persistence.SchemaMigrator(
            SqlAlchemySchemaMigrator(self._engine, self._session_template))
        self._image_metadata_repository = domain.ImageMetadataRepository(
            SqlAlchemyImageMetadataRepository(self._session_template))
        self._image_processor = imgengine.ImageRequestProcessor(
            DefaultImageRequestProcessor(
                self._image_metadata_repository, self._path_generator,
                self._image_format_mapper, self._schema_migrator,
                self._config.data_directory, self._session_template,
                self._config.dev_mode))
        self._image_processor.prepare_transformation = image_transformation_security_decorator.image_transformation_security_decorator(
            self._config.allowed_sizes)(
                self._image_processor.prepare_transformation)

        return self._image_processor
 def setUp(self):
     self._path_generator = NestedPathGenerator(FakeImageFormatMapper(), os.path.abspath("/basedir"))
 def setUp(self):
     self._path_generator = NestedPathGenerator(FakeImageFormatMapper(),
                                                os.path.abspath("/basedir"))