示例#1
0
    def test_get_file_not_found(self, app_manager):
        st = mm.by_name()

        file_url = url_for('mm.get_file', mm='media', filename='not.found')

        response = app_manager.test_client().get(file_url)
        assert response.status_code == 404
示例#2
0
    def test_get_file_no_storage(self, app_manager):
        st = mm.by_name()

        file_url = url_for('mm.get_file', mm='fake', filename='file.test')

        response = app_manager.test_client().get(file_url)
        assert response.status_code == 404
示例#3
0
    def test_save_from_filestorage_with_filename(self, app_manager, utils):
        st = mm.by_name()

        f = utils.filestorage('test.png', 'test')
        filename = st.save(f, st.generate_name(f))
        assert st.exists(filename)
        st.delete(filename)
示例#4
0
    def test_basic_postprocess_watermark(self, app_manager, image, utils):
        st = mm.by_name()

        with open(image, 'rb') as fp:
            f = utils.filestorage('horse.jpg', fp)
            filename = st.save(f)
            assert st.exists(filename)
            st.delete(filename)
示例#5
0
    def test_save_from_file(self, app_manager, image, utils):
        st = mm.by_name()

        f = utils.file(Image.open(image))

        filename = st.save(f, 'test.jpg')
        assert st.exists(filename)
        st.delete(filename)
示例#6
0
    def test_save_from_filestorage(self, app_manager, image, utils):
        st = mm.by_name()

        with open(image, 'rb') as fp:
            f = utils.filestorage('flask.jpg', fp)
            filename = st.save(f)
            assert st.exists(filename)
            st.delete(filename)
示例#7
0
    def test_save_from_file(self, app_manager, utils):
        st = mm.by_name()

        f = utils.file(b'test')

        filename = st.save(f, 'test.png')
        assert st.exists(filename)
        st.delete(filename)
示例#8
0
    def test_basic_watermark(self, app_manager, image, utils):

        st = mm.by_name()

        with open(image, 'rb') as fp:
            f = utils.filestorage('flask.jpg', fp)
            filename = st.save(f, postprocess=POSTPROCESS_PARAMS)
            assert st.exists(filename)
            st.delete(filename)
示例#9
0
    def test_get_file(self, app_manager):
        st = mm.by_name()

        file_url = url_for('mm.get_file', mm='media', filename='file.test')
        response = app_manager.test_client().get(file_url,
                                                 follow_redirects=True)
        print("respinse data:", response.data)
        #assert response.status_code == 200
        assert response.data == ''.encode('utf-8')
示例#10
0
    def test_save_from_filestorage_original_name(self, app_manager, utils):
        st = mm.by_name()

        f = utils.filestorage('test.png', 'test')

        filename = st.save(f)
        assert filename == 'test.png'
        assert st.exists(filename)
        st.delete(filename)
示例#11
0
    def test_save_thumbnail(self, app_manager, image, utils):
        st = mm.by_name()

        f = utils.file(Image.open(image))

        filename = st.save(f, 'test.jpg')
        assert st.exists(filename)
        assert st.exists(st.generate_thumbnail_name(filename))
        st.delete(filename)
示例#12
0
    def test_save_from_filestorage_with_filename_original_name(
            self, app_manager, image, utils):
        st = mm.by_name()

        with open(image, 'rb') as fp:
            f = utils.filestorage('flask.jpg', fp)
            filename = st.save(f, 'cicakutya.jpg', generate_name=False)
            assert filename == 'cicakutya.jpg'
            assert st.exists(filename)
            st.delete(filename)
示例#13
0
    def test_size_thumbnail(self, app_manager, image, utils):
        st = mm.by_name()

        f = utils.file(Image.open(image))

        filename = st.save(f, 'test.jpg')
        assert st.exists(st.generate_thumbnail_name(filename))
        thumb = Image.open(
            os.path.join('tests', 'test',
                         st.generate_thumbnail_name(filename)))
        assert thumb.size[0] == THUMB_WIDTH
        assert thumb.size[1] == THUMB_HEIGHT

        st.delete(filename)
示例#14
0
    def test_compress_files_filestorage(self, app_manager, utils):
        st = mm.by_name()

        f1 = utils.filestorage('test.png', 'test')
        f2 = utils.filestorage('test.png', 'test')

        filename1 = st.save(f1, st.generate_name(f1))
        filename2 = st.save(f2, st.generate_name(f2))

        archive = st.archive_files(st.generate_name('compressed.zip'),
                                   [filename1, filename2])

        assert st.exists(archive)

        st.delete(filename1)
        st.delete(filename2)
        st.delete(archive)
示例#15
0
    def test_compress_files_filestorage_read(self, app_manager, utils):
        # Create archive
        st = mm.by_name()

        f1 = utils.filestorage('test.png', 'test')
        f2 = utils.filestorage('test.png', 'test')

        filename1 = st.save(f1, st.generate_name(f1))
        filename2 = st.save(f2, st.generate_name(f2))

        archive = st.archive_files(st.generate_name('compressed.zip'),
                                   [filename1, filename2])

        assert st.exists(archive)

        # Read back file
        with st.open(archive, mode='rb') as f:
            byte_stream = io.BytesIO(f.read())

        byte_stream.seek(0)

        st.delete(filename1)
        st.delete(filename2)
        st.delete(archive)
示例#16
0
 def test_by_name_default(self, app, init_mm):
     init_mm.init_app(app)
     assert init_mm.by_name() == mm.by_name(
     ) == app.extensions['mediamanager']['media']
 def test_path(self, app_manager):
     st = mm.by_name()
     assert st.path('file.test') == os.path.abspath(
         os.path.join(os.path.dirname(__file__), 'test', 'file.test'))
示例#18
0
 def test_write_not_overwrite(self, app_manager):
     st = mm.by_name()
     with pytest.raises(FileExistsError):
         st.write('file.test', '')
示例#19
0
 def test_write_overwrite(self, app_manager):
     st = mm.by_name()
     st.write('file.test', '', overwrite=True)
示例#20
0
 def test_read_not_found(self, app_manager):
     st = mm.by_name()
     with pytest.raises(FileNotFoundError):
         st.read('file.not.found')
示例#21
0
 def test_read(self, app_manager):
     st = mm.by_name()
     assert st.read('file.test') == b''
示例#22
0
 def test_open_read_not_found(self, app_manager):
     st = mm.by_name()
     with pytest.raises(FileNotFoundError):
         with st.open('file.not.found') as f:
             pass
示例#23
0
 def test_file_open_as_binary(self, app_manager):
     st = mm.by_name()
     with st.open('file.test', mode='rb') as f:
         byte_stream = io.BytesIO(f.read())
     byte_stream.seek(0)
     assert byte_stream.read() == b''
示例#24
0
 def test_file_open(self, app_manager):
     st = mm.by_name()
     with st.open('file.test') as f:
         assert f.read() == ""
示例#25
0
 def test_exists(self, app_manager):
     st = mm.by_name()
     assert st.exists('file.test')
     assert not st.exists('notexists')
示例#26
0
 def test_open_write_new_file(self, app_manager):
     st = mm.by_name()
     with st.open('file.test', 'w') as f:
         f.write('')
 def test_root(self, app_manager):
     st = mm.by_name()
     assert st.storage.root == os.path.abspath(
         os.path.join(os.path.dirname(__file__), 'test'))
示例#28
0
    def test_url(self, app_manager):
        st = mm.by_name()

        expected_url = url_for('mm.get_file', mm=st.name, filename='test.txt')
        assert st.url('test.txt') == expected_url