Compare commits

..

2 commits

Author SHA1 Message Date
b1c2dc9ce0 🚧 moving computers 2025-06-12 22:29:21 -04:00
87b9d6048d 🎨 run black 2025-06-12 21:36:07 -04:00
6 changed files with 47 additions and 9 deletions

View file

@ -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")

View file

@ -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."

View file

@ -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))

View file

@ -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,
)

View file

@ -0,0 +1,3 @@
from io import BytesIO
...