def test_record_not_found(self): params = {'pathParameters': {'article_id': 'testid000003'}} response = ArticlesAlisTokensShow(params, {}, self.dynamodb).main() self.assertEqual(response['statusCode'], 200) self.assertEqual(json.loads(response['body']), { 'article_id': 'testid000003', 'alis_token': 0 })
def test_call_validate_article_existence(self): params = {'pathParameters': {'article_id': 'testid000001'}} mock_lib = MagicMock() with patch('articles_alis_tokens_show.DBUtil', mock_lib): ArticlesAlisTokensShow(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.assertEqual(args[1], 'testid000001') self.assertEqual(kwargs['status'], 'public')
def test_main_ok(self): params = {'pathParameters': {'article_id': 'testid000001'}} response = ArticlesAlisTokensShow(params, {}, self.dynamodb).main() expected_item = { 'article_id': 'testid000001', 'alis_token': 100, 'evaluated_at': 1520150272000000 } self.assertEqual(response['statusCode'], 200) self.assertEqual(json.loads(response['body']), expected_item)
def test_main_with_no_article_evalueted_management(self): article_evaluated_manage_table = self.dynamodb.Table( os.environ['ARTICLE_EVALUATED_MANAGE_TABLE_NAME']) article_evaluated_manage_table.delete_item(Key={'type': 'alistoken'}) params = {'pathParameters': {'article_id': 'testid000001'}} response = ArticlesAlisTokensShow(params, {}, self.dynamodb).main() self.assertEqual(response['statusCode'], 200) self.assertEqual(json.loads(response['body']), { 'article_id': 'testid000001', 'alis_token': 0 })
def assert_bad_request(self, params): function = ArticlesAlisTokensShow(params, {}, self.dynamodb) response = function.main() self.assertEqual(response['statusCode'], 400)
def lambda_handler(event, context): articles_alis_tokens_show = ArticlesAlisTokensShow(event, context, dynamodb) return articles_alis_tokens_show.main()