43 lines
1.0 KiB
Python
43 lines
1.0 KiB
Python
import json
|
|
from http import HTTPMethod, HTTPStatus
|
|
|
|
from layercake.dynamodb import DynamoDBPersistenceLayer
|
|
|
|
import app
|
|
|
|
from ..conftest import HttpApiProxy, LambdaContext
|
|
|
|
|
|
def test_post_course(
|
|
mock_app,
|
|
monkeypatch,
|
|
dynamodb_persistence_layer: DynamoDBPersistenceLayer,
|
|
http_api_proxy: HttpApiProxy,
|
|
lambda_context: LambdaContext,
|
|
):
|
|
app.courses.course_layer = dynamodb_persistence_layer
|
|
app.courses.user_layer = dynamodb_persistence_layer
|
|
|
|
r = app.lambda_handler(
|
|
http_api_proxy(
|
|
raw_path='/courses',
|
|
method=HTTPMethod.POST,
|
|
headers={'X-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
|