def test_pending_submission_error_file_upload(town_app): collection = FormCollection(town_app.session()) collection.definitions.add('Statistics', definition=textwrap.dedent(""" Name * = ___ Datei * = *.txt|*.csv """), type='custom') client = Client(town_app) form_page = client.get('/formulare').click('Statistics') form_page.form['datei'] = Upload('test.jpg', utils.create_image().read()) form_page = form_page.form.submit().follow() assert 'formular-eingabe' in form_page.request.url assert len(form_page.pyquery('small.error')) == 2
def test_image_collection(town_app): collection = ImageCollection(town_app) assert list(collection.files) == [] assert list(collection.thumbnails) == [] assert collection.get_file_by_filename('test.jpg') is None collection.store_file(utils.create_image(), 'test.jpg') assert collection.get_file_by_filename('test.jpg') is not None assert len(list(collection.files)) == 1 assert len(list(collection.thumbnails)) == 0 assert collection.get_thumbnail_by_filename('test.jpg') is not None assert len(list(collection.files)) == 1 assert len(list(collection.thumbnails)) == 1 collection.delete_file_by_filename('test.jpg') assert len(list(collection.files)) == 0 assert len(list(collection.thumbnails)) == 0
def test_view_images(town_app): client = Client(town_app) assert client.get('/bilder', expect_errors=True).status_code == 403 login_page = client.get('/login') login_page.form.set('email', '*****@*****.**') login_page.form.set('password', 'hunter2') login_page.form.submit() images_page = client.get('/bilder') assert "Noch keine Bilder hochgeladen" in images_page images_page.form['file'] = Upload('Test.txt', b'File content') assert images_page.form.submit(expect_errors=True).status_code == 415 images_page.form['file'] = Upload('Test.jpg', utils.create_image().read()) images_page = images_page.form.submit().follow() assert "Noch keine Bilder hochgeladen" not in images_page name = images_page.pyquery('img').attr('src').split('/')[-1] # thumbnails are created on the fly assert town_app.filestorage.exists('images/' + name) assert not town_app.filestorage.exists('images/thumbnails' + name) client.get('/thumbnails/' + name) assert town_app.filestorage.exists('images/thumbnails/' + name) # thumbnails are deleted with the image delete_link = images_page.pyquery('a.delete').attr('ic-delete-from') client.delete(delete_link) assert not town_app.filestorage.exists('images/' + name) assert not town_app.filestorage.exists('images/thumbnails/' + name)