39 lines
971 B
Python
39 lines
971 B
Python
import json
|
|
from http import HTTPMethod, HTTPStatus
|
|
|
|
from layercake.dynamodb import DynamoDBPersistenceLayer
|
|
|
|
from ..conftest import HttpApiProxy, LambdaContext
|
|
|
|
|
|
def test_post_course(
|
|
mock_app,
|
|
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
|
http_api_proxy: HttpApiProxy,
|
|
lambda_context: LambdaContext,
|
|
):
|
|
mock_app.courses.course_layer = dynamodb_persistence_layer
|
|
|
|
r = mock_app.lambda_handler(
|
|
http_api_proxy(
|
|
raw_path='/courses',
|
|
method=HTTPMethod.POST,
|
|
headers={'Tenant': '*'},
|
|
body={
|
|
'course': {
|
|
'name': 'pytest',
|
|
'access_period': 365,
|
|
'cert': {
|
|
'exp_interval': 730, # 2 years
|
|
},
|
|
}
|
|
},
|
|
),
|
|
lambda_context,
|
|
)
|
|
|
|
print(r)
|
|
|
|
assert 'id' in json.loads(r['body'])
|
|
assert r['statusCode'] == HTTPStatus.CREATED
|