WebHost: restore old silent ignore of mimetypes in json getting (#1292)
* WebHost: restore old silent ignore of mimetypes in json getting of /api/generate * Tests: add tests for /api/generate
This commit is contained in:
parent
4412434976
commit
32b8f9f9f3
|
@ -27,7 +27,10 @@ def generate_api():
|
|||
race = bool(0 if request.form["race"] in {"false"} else int(request.form["race"]))
|
||||
meta_options_source = request.form
|
||||
|
||||
json_data = request.get_json()
|
||||
# json_data is optional, we can have it silently fall to None as it used to do.
|
||||
# See https://flask.palletsprojects.com/en/2.2.x/api/#flask.Request.get_json -> Changelog -> 2.1
|
||||
json_data = request.get_json(silent=True)
|
||||
|
||||
if json_data:
|
||||
meta_options_source = json_data
|
||||
if 'weights' in json_data:
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
import unittest
|
||||
import json
|
||||
|
||||
|
||||
class TestDocs(unittest.TestCase):
|
||||
@classmethod
|
||||
def setUpClass(cls) -> None:
|
||||
from WebHost import get_app, raw_app
|
||||
raw_app.config["PONY"] = {
|
||||
"provider": "sqlite",
|
||||
"filename": ":memory:",
|
||||
"create_db": True,
|
||||
}
|
||||
app = get_app()
|
||||
app.config.update({
|
||||
"TESTING": True,
|
||||
})
|
||||
cls.client = app.test_client()
|
||||
|
||||
def testCorrectErrorEmptyRequest(self):
|
||||
response = self.client.post("/api/generate")
|
||||
self.assertIn("No options found. Expected file attachment or json weights.", response.text)
|
||||
|
||||
def testGenerationQueued(self):
|
||||
options = {
|
||||
"Tester1":
|
||||
{
|
||||
"game": "Archipelago",
|
||||
"name": "Tester",
|
||||
"Archipelago": {}
|
||||
}
|
||||
}
|
||||
response = self.client.post(
|
||||
"/api/generate",
|
||||
data=json.dumps({"weights": options}),
|
||||
content_type='application/json'
|
||||
)
|
||||
json_data = response.get_json()
|
||||
self.assertTrue(json_data["text"].startswith("Generation of seed "))
|
||||
self.assertTrue(json_data["text"].endswith(" started successfully."))
|
Loading…
Reference in New Issue