Skip to content

Commit 05323eb

Browse files
committed
add-more-test
1 parent 80c23d5 commit 05323eb

1 file changed

Lines changed: 45 additions & 1 deletion

File tree

tests/integrations/chalice/test_chalice.py

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import pytest
2-
2+
import time
33
from chalice import Chalice
44
from chalice.local import LambdaContext, LocalGateway
55

@@ -42,6 +42,11 @@ def has_request():
4242
return app
4343

4444

45+
@pytest.fixture
46+
def lambda_context_args():
47+
return ['lambda_name', 256]
48+
49+
4550
def test_exception_boom(app, client: RequestHandler) -> None:
4651
response = client.get("/boom")
4752
assert response.status_code == 500
@@ -63,3 +68,42 @@ def test_has_request(app, capture_events, client: RequestHandler):
6368
assert event["level"] == "error"
6469
(exception,) = event["exception"]["values"]
6570
assert exception["type"] == "Exception"
71+
72+
73+
def test_scheduled_event(app, lambda_context_args):
74+
@app.schedule('rate(1 minutes)')
75+
def every_hour(event):
76+
raise Exception('only chalice event!')
77+
78+
context = LambdaContext(
79+
*lambda_context_args, max_runtime_ms=10000, time_source=time
80+
)
81+
82+
lambda_event = {
83+
"version": "0",
84+
"account": "120987654312",
85+
"region": "us-west-1",
86+
"detail": {},
87+
"detail-type": "Scheduled Event",
88+
"source": "aws.events",
89+
"time": "1970-01-01T00:00:00Z",
90+
"id": "event-id",
91+
"resources": [
92+
"arn:aws:events:us-west-1:120987654312:rule/my-schedule"
93+
],
94+
}
95+
with pytest.raises(Exception) as exc_info:
96+
every_hour(lambda_event, context=context)
97+
assert str(exc_info.value) == 'only chalice event!'
98+
99+
100+
def test_bad_reques(client: RequestHandler) -> None:
101+
response = client.http.get('/badrequest')
102+
103+
assert response.status_code == 400
104+
assert response.json_body == dict(
105+
[
106+
('Code', 'BadRequestError'),
107+
('Message', 'BadRequestError: bad-request'),
108+
]
109+
)

0 commit comments

Comments
 (0)