def test_survey_key(): customer_id = 'TESTID' survey_id = 'TESTID' survey = Survey(customer_id=customer_id, survey_id=survey_id, survey_data=None) test_key = {'PK': 'CUSTOMER#TESTID', 'SK': 'SURVEY#TESTID'} assert isinstance(survey.key(), dict) assert survey.key() == test_key
def handler(event, context): survey = Survey(**event['body']) create_survey(survey) if event.get('error'): raise Exception(event['error']) else: return event['body']
def test_to_item_serialization(): customer_id = 'TEST_ID' survey_id = 'TEST_ID' survey = Survey( customer_id=customer_id, survey_id=survey_id, survey_data={'survey': 'data'} ) test_item = { 'PK': 'CUSTOMER#TEST_ID', 'SK': 'SURVEY#TEST_ID', 'customer_id': 'TEST_ID', 'survey_id': 'TEST_ID', 'survey_data': {'survey': 'data'} } assert isinstance(survey.to_item(), dict) assert survey.to_item() == test_item
def handler(event, context): customer_id = event['queryStringParameters']['customer_id'] survey_id = event['queryStringParameters']['survey_id'] survey = Survey(customer_id=customer_id, survey_id=survey_id) result = get_survey(survey) if hasattr(result, 'error'): raise Exception(result['error']) return result.to_result()
def test_instantiating_survey_with_blank_survey_id_uses_uuid_string_fallback(): customer_id = '1' survey_id = None survey = Survey(customer_id, survey_id) assert survey.customer_id == customer_id assert survey.survey_id is not None assert isinstance(survey.survey_id, str) assert valid_uuid(survey.survey_id)
def test_instantiating_survey_class_with_valid_data(): customer_id = '1' survey_id = '2' survey_data = {'key': 'value'} survey = Survey(customer_id, survey_id, survey_data) assert survey.customer_id == customer_id assert survey.survey_id == survey_id assert survey.survey_data == survey_data
def handler(event, context): survey_id = event['pathParameters']['survey_id'] survey = Survey(survey_id=survey_id) all_responses_result = get_all_survey_responses(survey) if hasattr(all_responses_result, 'error'): raise Exception(all_responses_result['error']) responses = [] for response in all_responses_result: responses.append(response.to_result()) return {'responses': responses}
def test_instantiating_survey_class_with_no_data_fails(): with pytest.raises(NoCustomerIdException): Survey()
def handler(event, context): survey = Survey(**event['body']) result = create_survey(survey) if hasattr(result, 'error'): raise Exception(result['error']) return result.to_result()