def test_http_event(lambda_context, mocker): # given mock_lunchtime_serivce = mocker.patch.object(handler, 'LunchtimeService') handler.LunchtimeService.process_lunch_request.return_value = TEST_RESPONSE mocker.patch.object(handler, 'get_lunchtime_service') handler.get_lunchtime_service.return_value = mock_lunchtime_serivce event = TEST_EVENT # when response = handler.lambda_handler(event, lambda_context) # then body = response['body'] assert body is not None data = json.loads(body) assert data['suggestion'] is not None assert data['options'] is not None criteria = data['criteria'] assert criteria is not None assert criteria['loc'] == '47.6174755835663,-122.2883706665018' assert criteria['mode'] == 'walk'
def test_handler_num(): event = {"num": 2} assert lambda_handler(event, "") == '2'
def test_handler_fizzbuzz(): event = {"num": 15} assert lambda_handler(event, "") == 'FizzBuzz'
def test_valid_input_handler(self): handler.lambda_handler(create_sqs_event(get_test_order()), None)
def test_missing_item_property(self): malformed_order = get_test_order() malformed_order['items'][0] = {"foo": "bar"} with pytest.raises(ValueError): handler.lambda_handler(create_sqs_event(malformed_order), None)
def test_invalid_item_type(self): malformed_order = get_test_order() malformed_order['items'][0]['type'] = "foo" with pytest.raises(ValueError): handler.lambda_handler(create_sqs_event(malformed_order), None)
def test_negative_quantity_input(self): malformed_order = get_test_order() malformed_order['items'][0]['quantity'] = -8 with pytest.raises(ValueError): handler.lambda_handler(create_sqs_event(malformed_order), None)