Ppchelko has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/325986 )
Change subject: Emit the $merge key with page summatu URI. ...................................................................... Emit the $merge key with page summatu URI. Needed for content hydration in RESTBase. Change-Id: Idcb99234ead8b322abf84273eb64dab483e808bc --- M lib/processor.js M routes/trending-v1.js M test/features/v1/trending.js A test/utils/fixtures.js 4 files changed, 70 insertions(+), 7 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/trending-edits refs/changes/86/325986/1 diff --git a/lib/processor.js b/lib/processor.js index 1d3286c..359fe59 100644 --- a/lib/processor.js +++ b/lib/processor.js @@ -110,7 +110,8 @@ names: {}, main: username }, - title: edit.page_title + title: edit.page_title, + domain: edit.meta.domain }; } contributors = page.contributors; diff --git a/routes/trending-v1.js b/routes/trending-v1.js index 6253ffa..1195b60 100644 --- a/routes/trending-v1.js +++ b/routes/trending-v1.js @@ -31,6 +31,17 @@ var ERROR_UNAVAILABLE = 'Trending is currently not available on this wiki.'; +function getRbPageSummaryUrl(domain, title) { + const request = app.restbase_tpl.expand({ + request: { + params: { + domain: domain, + path: 'page/summary/' + encodeURIComponent(title) }, + } + }); + return request.uri; +} + /** * GET /feed/trending-edits * Gets the body of a given page. @@ -50,7 +61,8 @@ totalEdits: page.edits, trendiness: page.score, isNew: page.isNew, - updated: page.updated + updated: page.updated, + $merge: [ getRbPageSummaryUrl(page.domain, page.title) ] }; }) }; diff --git a/test/features/v1/trending.js b/test/features/v1/trending.js index 79f5ba7..abadc86 100644 --- a/test/features/v1/trending.js +++ b/test/features/v1/trending.js @@ -1,10 +1,11 @@ 'use strict'; -var preq = require('preq'); -var assert = require('../../utils/assert.js'); -var server = require('../../utils/server.js'); -var processor = require('../../../lib/processor.js'); +const preq = require('preq'); +const assert = require('../../utils/assert.js'); +const server = require('../../utils/server.js'); +const processor = require('../../../lib/processor.js'); +const fixtures = require('../../utils/fixtures'); describe('trending', function() { @@ -16,6 +17,9 @@ }); it('check response format', function() { + for (let i = 0; i < 1000; i++) { + processor.process(fixtures.edit); + } return preq.get({ uri: server.config.uri + 'en.wikipedia.org/v1/feed/trending-edits/' }).then(function(res) { @@ -27,7 +31,11 @@ assert.ok(res.body.pages !== undefined, 'Pages property on response'); assert.ok(res.body.timestamp !== undefined, 'Timestamp property on response shows how recent results were generated'); - assert.ok(res.body.pages.length === 0, 'Pages property is an array.'); + assert.ok(Array.isArray(res.body.pages), 'Pages property is an array.'); + const page = res.body.pages[0]; + assert.deepEqual(page.$merge, [ + `https://en.wikipedia.org/api/rest_v1/page/summary/${fixtures.edit.page_title}` + ]); }); }); diff --git a/test/utils/fixtures.js b/test/utils/fixtures.js new file mode 100644 index 0000000..6eb46ec --- /dev/null +++ b/test/utils/fixtures.js @@ -0,0 +1,42 @@ +'use strict'; + +const fixtures = {}; + +fixtures.edit = { + "comment": "My cool edit", + "database": "enwiki", + "meta": { + "domain": "en.wikipedia.org", + "dt": "2016-12-08T18:48:56+00:00", + "id": "f8e3664e-bd76-11e6-bf30-1418776136da", + "request_id": "2b656cb8-4af5-40eb-b8ed-b4179035cad4", + "schema_uri": "mediawiki/revision/create/1", + "topic": "mediawiki.revision-create", + "uri": "https://en.wikipedia.org/wiki/Exploding_whale" + }, + "page_id": 12345, + "page_is_redirect": false, + "page_namespace": 0, + "page_title": "Exploding_whale", + "performer": { + "user_groups": [ + "bot", + "*", + "user", + "autoconfirmed" + ], + "user_id": 12345, + "user_is_bot": false, + "user_text": "User-User" + }, + "rev_content_format": "wikitext", + "rev_content_model": "wikitext", + "rev_id": 745642299, + "rev_len": 10030, + "rev_minor_edit": true, + "rev_parent_id": 745642299, + "rev_sha1": "3ujb8zwx1gzv35k2eif0058gr8842zx", + "rev_timestamp": "2016-12-08T18:48:56Z" +}; + +module.exports = fixtures; \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/325986 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idcb99234ead8b322abf84273eb64dab483e808bc Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/services/trending-edits Gerrit-Branch: master Gerrit-Owner: Ppchelko <ppche...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits