示例#1
0
    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])
示例#2
0
    def assert_bad_request(self, params):
        function = MeArticlesDraftsCreate(params, {}, self.dynamodb)
        response = function.main()

        self.assertEqual(response['statusCode'], 400)
示例#3
0
def lambda_handler(event, context):
    me_articles_drafts_create = MeArticlesDraftsCreate(event, context, dynamodb)
    return me_articles_drafts_create.main()