def test_main_ok(self): TagUtil.create_tag(self.elasticsearch, 'a') TagUtil.create_tag(self.elasticsearch, 'B') self.elasticsearch.indices.refresh(index='tags') params = { 'pathParameters': { 'article_id': 'draftId00001' }, 'body': { 'topic': 'crypto', 'tags': ['A', 'B', 'C', 'D', 'E' * 25] }, '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_history_before = self.article_history_table.scan()['Items'] article_content_edit_before = self.article_content_edit_table.scan( )['Items'] response = MeArticlesDraftsPublish( params, {}, dynamodb=self.dynamodb, elasticsearch=self.elasticsearch).main() article_info_after = self.article_info_table.scan()['Items'] article_history_after = self.article_history_table.scan()['Items'] article_content_edit_after = self.article_content_edit_table.scan( )['Items'] self.assertEqual(response['statusCode'], 200) article_info = self.article_info_table.get_item( Key={'article_id': params['pathParameters']['article_id']})['Item'] article_content = self.article_content_table.get_item( Key={'article_id': params['pathParameters']['article_id']})['Item'] article_history = self.article_history_table.query( KeyConditionExpression=Key('article_id').eq( params['pathParameters']['article_id']))['Items'][-1] self.assertEqual(article_info['status'], 'public') self.assertEqual(article_info['sort_key'], 1520150552000000) self.assertEqual(article_info['published_at'], 1525000000) self.assertEqual(article_info['sync_elasticsearch'], 1) self.assertEqual(article_info['topic'], 'crypto') self.assertEqual(article_info['tags'], ['a', 'B', 'C', 'D', 'E' * 25]) self.assertEqual(article_content['title'], article_history['title']) self.assertEqual(article_content['body'], article_history['body']) self.assertEqual(len(article_info_after) - len(article_info_before), 0) self.assertEqual( len(article_history_after) - len(article_history_before), 1) self.assertEqual( len(article_content_edit_after) - len(article_content_edit_before), 0)
def test_main_ok(self): TagUtil.create_tag(self.elasticsearch, 'a') TagUtil.create_tag(self.elasticsearch, 'B') self.elasticsearch.indices.refresh(index='tags') params = { 'pathParameters': { 'article_id': 'publicId0001' }, 'body': { 'topic': 'crypto', 'tags': ['A', 'B', 'C', 'D', 'E' * 25], 'eye_catch_url': 'https://' + os.environ['DOMAIN'] + '/00001.png' }, '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'] article_content_edit_before = self.article_content_edit_table.scan( )['Items'] article_history_before = self.article_history_table.scan()['Items'] response = MeArticlesPublicRepublishWithHeader( params, {}, dynamodb=self.dynamodb, elasticsearch=self.elasticsearch).main() article_info_after = self.article_info_table.scan()['Items'] article_content_after = self.article_content_table.scan()['Items'] article_content_edit_after = self.article_content_edit_table.scan( )['Items'] article_history_after = self.article_history_table.scan()['Items'] article_info = self.article_info_table.get_item( Key={'article_id': params['pathParameters']['article_id']})['Item'] article_content = self.article_content_table.get_item( Key={'article_id': params['pathParameters']['article_id']})['Item'] article_history = self.article_history_table.query( KeyConditionExpression=Key('article_id').eq( params['pathParameters']['article_id']))['Items'][-1] expected_item = { 'article_id': 'publicId0001', 'user_id': 'test01', 'title': 'edit_title1_edit', 'body': 'edit_body1_edit', 'eye_catch_url': 'https://' + os.environ['DOMAIN'] + '/00001.png', 'topic': 'crypto', 'tags': ['a', 'B', 'C', 'D', 'E' * 25] } article_info_param_names = ['eye_catch_url', 'title'] article_content_param_names = ['title', 'body'] self.assertEqual(response['statusCode'], 200) self.assertEqual(article_info['status'], 'public') self.assertEqual(article_info['sync_elasticsearch'], 1) self.assertEqual( params['requestContext']['authorizer']['claims'] ['cognito:username'], article_info['user_id']) for key in article_info_param_names: self.assertEqual(expected_item[key], article_info[key]) for key in article_content_param_names: self.assertEqual(expected_item[key], article_content[key]) self.assertEqual(expected_item[key], article_history[key]) self.assertEqual(len(article_info_after) - len(article_info_before), 0) self.assertEqual( len(article_content_after) - len(article_content_before), 0) self.assertEqual( len(article_content_edit_after) - len(article_content_edit_before), -1) self.assertEqual( len(article_history_after) - len(article_history_before), 1)