def test_main_ok(self):
        params = {
            'pathParameters': {
                'article_id': 'publicId0001'
            },
            'requestContext': {
                'authorizer': {
                    'claims': {
                        'cognito:username': '******'
                    }
                }
            }
        }

        article_info_before = self.article_info_table.scan()['Items']
        article_content_edit_before = self.article_content_edit_table.scan(
        )['Items']

        response = MeArticlesPublicUnpublish(params, {}, self.dynamodb).main()

        article_info_after = self.article_info_table.scan()['Items']
        article_content_edit_after = self.article_content_edit_table.scan(
        )['Items']

        article_info = self.article_info_table.get_item(
            Key={'article_id': params['pathParameters']['article_id']})['Item']

        self.assertEqual(response['statusCode'], 200)
        self.assertEqual(article_info['status'], 'draft')
        self.assertEqual(len(article_info_after) - len(article_info_before), 0)
        self.assertEqual(
            len(article_content_edit_after) - len(article_content_edit_before),
            0)
    def test_call_validate_article_existence(self):
        params = {
            'pathParameters': {
                'article_id': 'publicId0001'
            },
            'requestContext': {
                'authorizer': {
                    'claims': {
                        'cognito:username': '******'
                    }
                }
            }
        }

        mock_lib = MagicMock()
        with patch('me_articles_public_unpublish.DBUtil', mock_lib):
            response = MeArticlesPublicUnpublish(params, {},
                                                 self.dynamodb).main()
            args, kwargs = mock_lib.validate_article_existence.call_args

            self.assertTrue(mock_lib.validate_article_existence.called)
            self.assertTrue(args[0])
            self.assertTrue(args[1])
            self.assertTrue(kwargs['user_id'])
            self.assertEqual(kwargs['status'], 'public')
コード例 #3
0
def lambda_handler(event, context):
    me_articles_public_unpublish = MeArticlesPublicUnpublish(
        event, context, dynamodb)
    return me_articles_public_unpublish.main()
    def assert_bad_request(self, params):
        function = MeArticlesPublicUnpublish(params, {}, self.dynamodb)
        response = function.main()

        self.assertEqual(response['statusCode'], 400)