Skip to content

Commit 75858cc

Browse files
Merge branch 'main' into imporve-asgi-wsgi-remove-deps
2 parents b94bc21 + a38510f commit 75858cc

4 files changed

Lines changed: 37 additions & 6 deletions

File tree

slack_bolt/adapter/falcon/async_resource.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from datetime import datetime
22
from http import HTTPStatus
33

4+
from falcon import MEDIA_TEXT
45
from falcon import version as falcon_version
56
from falcon.asgi import Request, Response
67
from slack_bolt import BoltResponse
@@ -40,9 +41,9 @@ async def on_get(self, req: Request, resp: Response):
4041
await self._write_response(bolt_resp, resp)
4142
return
4243

43-
resp.status = "404"
44-
# Falcon 4.x w/ mypy fails to correctly infer the str type here
45-
resp.body = "The page is not found..."
44+
resp.status = HTTPStatus.NOT_FOUND
45+
resp.content_type = MEDIA_TEXT
46+
resp.text = "The page is not found..."
4647

4748
async def on_post(self, req: Request, resp: Response):
4849
bolt_req = await self._to_bolt_request(req)

slack_bolt/adapter/falcon/resource.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from datetime import datetime
22
from http import HTTPStatus
33

4+
from falcon import MEDIA_TEXT
45
from falcon import Request, Response, version as falcon_version
56

67
from slack_bolt import BoltResponse
@@ -34,9 +35,9 @@ def on_get(self, req: Request, resp: Response):
3435
self._write_response(bolt_resp, resp)
3536
return
3637

37-
resp.status = "404"
38-
# Falcon 4.x w/ mypy fails to correctly infer the str type here
39-
resp.body = "The page is not found..."
38+
resp.status = HTTPStatus.NOT_FOUND
39+
resp.content_type = MEDIA_TEXT
40+
resp.text = "The page is not found..."
4041

4142
def on_post(self, req: Request, resp: Response):
4243
bolt_req = self._to_bolt_request(req)

tests/adapter_tests/falcon/test_falcon.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,3 +205,17 @@ def test_oauth(self):
205205
response = client.simulate_get("/slack/install")
206206
assert response.status_code == 200
207207
assert "https://slack.com/oauth/v2/authorize?state=" in response.text
208+
209+
def test_get_no_oauth(self):
210+
app = App(
211+
client=self.web_client,
212+
signing_secret=self.signing_secret,
213+
)
214+
api = new_falcon_app()
215+
resource = SlackAppResource(app)
216+
api.add_route("/slack/events", resource)
217+
218+
client = testing.TestClient(api)
219+
response = client.simulate_get("/slack/events")
220+
assert response.status_code == 404
221+
assert "The page is not found" in response.text

tests/adapter_tests_async/test_async_falcon.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,3 +208,18 @@ async def test_oauth(self):
208208
assert response.headers.get("content-type") == "text/html; charset=utf-8"
209209
assert response.headers.get("content-length") == "607"
210210
assert "https://slack.com/oauth/v2/authorize?state=" in response.text
211+
212+
@pytest.mark.asyncio
213+
async def test_get_no_oauth(self):
214+
app = AsyncApp(
215+
client=self.web_client,
216+
signing_secret=self.signing_secret,
217+
)
218+
api = new_falcon_app()
219+
resource = AsyncSlackAppResource(app)
220+
api.add_route("/slack/events", resource)
221+
222+
async with ASGIConductor(api) as conductor:
223+
response = await conductor.simulate_get("/slack/events")
224+
assert response.status_code == 404
225+
assert "The page is not found" in response.text

0 commit comments

Comments
 (0)