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')
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)