def test_main_ok(self): params = { 'body': { "eye_catch_url": "http://example.com", "title": "sample title", "body": "<p>sample body</p>", "overview": " " }, 'requestContext': { 'authorizer': { 'claims': { 'cognito:username': '******', 'phone_number_verified': 'true', 'email_verified': 'true' } } } } params['body'] = json.dumps(params['body']) article_info_before = self.article_info_table.scan()['Items'] article_content_before = self.article_content_table.scan()['Items'] me_articles_drafts_create = MeArticlesDraftsCreate( params, {}, self.dynamodb) response = me_articles_drafts_create.main() article_info_after = self.article_info_table.scan()['Items'] article_content_after = self.article_content_table.scan()['Items'] self.assertEqual(json.loads(response['body']), {'article_id': 'HOGEHOGEHOGE'}) self.assertEqual(response['statusCode'], 200) self.assertEqual(len(article_info_after) - len(article_info_before), 1) self.assertEqual( len(article_content_after) - len(article_content_before), 1) article_info_param_names = ['eye_catch_url', 'title', 'overview'] article_content_param_names = ['title', 'body'] self.assertEqual( params['requestContext']['authorizer']['claims'] ['cognito:username'], article_info_after[0]['user_id']) for key in article_info_param_names: self.assertEqual( json.loads(params['body'])[key], article_info_after[0][key]) for key in article_content_param_names: self.assertEqual( json.loads(params['body'])[key], article_content_after[0][key])
def assert_bad_request(self, params): function = MeArticlesDraftsCreate(params, {}, self.dynamodb) response = function.main() self.assertEqual(response['statusCode'], 400)
def lambda_handler(event, context): me_articles_drafts_create = MeArticlesDraftsCreate(event, context, dynamodb) return me_articles_drafts_create.main()