Compare commits
2 commits
e2ebdd45ba
...
b1c2dc9ce0
Author | SHA1 | Date | |
---|---|---|---|
b1c2dc9ce0 | |||
87b9d6048d |
6 changed files with 47 additions and 9 deletions
|
@ -86,7 +86,8 @@ def file_upload(request):
|
|||
return HttpResponse(
|
||||
body=f"The file has been uploaded, but it is not a text file."
|
||||
f" Saved to {filepath}",
|
||||
status_code=400)
|
||||
status_code=400,
|
||||
)
|
||||
else:
|
||||
return TemplateResponse(request, "file_upload.html")
|
||||
|
||||
|
|
|
@ -208,12 +208,12 @@ class SpiderwebRouter(LocalServerMixin, MiddlewareMixin, RoutesMixin, FernetMixi
|
|||
if self.media_dir:
|
||||
self.media_dir = pathlib.Path(self.media_dir)
|
||||
if not pathlib.Path(self.BASE_DIR / self.media_dir).exists():
|
||||
self.log.error(f"Media directory '{str(self.media_dir)}' does not exist.")
|
||||
self.log.error(
|
||||
f"Media directory '{str(self.media_dir)}' does not exist."
|
||||
)
|
||||
raise ConfigError
|
||||
if self.debug:
|
||||
self.add_route(
|
||||
rf"/{self.media_url}/<path:filename>", send_file
|
||||
)
|
||||
self.add_route(rf"/{self.media_url}/<path:filename>", send_file)
|
||||
else:
|
||||
self.log.warning(
|
||||
"`media_dir` is set, but `debug` is set to FALSE."
|
||||
|
|
|
@ -9,7 +9,7 @@ from multipart import (
|
|||
parse_form_data,
|
||||
is_form_request as m_is_form_request,
|
||||
MultiDict,
|
||||
MultipartPart
|
||||
MultipartPart,
|
||||
)
|
||||
|
||||
|
||||
|
@ -58,7 +58,9 @@ class Request:
|
|||
else:
|
||||
if content_length:
|
||||
self.content = (
|
||||
self.environ["wsgi.input"].read(content_length).decode(DEFAULT_ENCODING)
|
||||
self.environ["wsgi.input"]
|
||||
.read(content_length)
|
||||
.decode(DEFAULT_ENCODING)
|
||||
)
|
||||
self.GET.update(parse_qs(self.content))
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ from wsgiref.util import setup_testing_defaults
|
|||
from peewee import SqliteDatabase
|
||||
|
||||
from spiderweb import SpiderwebRouter
|
||||
from spiderweb.request import Request
|
||||
|
||||
|
||||
class StartResponse:
|
||||
|
@ -28,3 +29,34 @@ def setup(**kwargs):
|
|||
environ,
|
||||
StartResponse(),
|
||||
)
|
||||
|
||||
|
||||
class TestClient:
|
||||
def __init__(self, **kwargs):
|
||||
self.app, self.environ, self.start_response = setup(**kwargs)
|
||||
...
|
||||
|
||||
|
||||
class RequestFactory:
|
||||
@staticmethod
|
||||
def create_request(
|
||||
environ=None,
|
||||
content=None,
|
||||
headers=None,
|
||||
path=None,
|
||||
server=None,
|
||||
handler=None,
|
||||
):
|
||||
if not environ:
|
||||
environ = {}
|
||||
setup_testing_defaults(environ)
|
||||
environ["HTTP_USER_AGENT"] = "Mozilla/5.0 (testrequest)"
|
||||
environ["REMOTE_ADDR"] = "1.1.1.1"
|
||||
return Request(
|
||||
environ=environ,
|
||||
content=content,
|
||||
headers=headers,
|
||||
path=path,
|
||||
server=server,
|
||||
handler=handler,
|
||||
)
|
||||
|
|
3
spiderweb/tests/test_files.py
Normal file
3
spiderweb/tests/test_files.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
from io import BytesIO
|
||||
|
||||
...
|
Loading…
Add table
Reference in a new issue