Mobrovac has submitted this change and it was merged. Change subject: Track anonymous edits ......................................................................
Track anonymous edits Bug: T145554 Change-Id: I39a3d5cf2fa29fa7410baca5042278fd10a2a76e --- M lib/processor.js M test/features/lib/processor.js 2 files changed, 34 insertions(+), 6 deletions(-) Approvals: Mobrovac: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/lib/processor.js b/lib/processor.js index 6508f96..8b89c57 100644 --- a/lib/processor.js +++ b/lib/processor.js @@ -19,6 +19,7 @@ var id = edit.page_id; var ts = edit.rev_timestamp; var performer = edit.performer; + var isAnon = edit.performer.user_id === undefined; if (edit.meta.topic === 'mediawiki.revision-create' && !performer.user_is_bot && edit.page_namespace === 0) { @@ -26,7 +27,17 @@ pages[id].edits++; pages[id].updated = ts; } else { - pages[id] = { id: id, edits: 1, from: ts, updated: ts, title: edit.page_title }; + pages[id] = { + id: id, + edits: 1, + from: ts, + updated: ts, + anonEdits: 0, + title: edit.page_title + }; + } + if (isAnon) { + pages[id].anonEdits += 1; } } } diff --git a/test/features/lib/processor.js b/test/features/lib/processor.js index 40aef27..232a8d4 100644 --- a/test/features/lib/processor.js +++ b/test/features/lib/processor.js @@ -4,17 +4,22 @@ var processor = require('../../../lib/processor.js'); function edit( id, username, ts, ns, isBot ) { + var performer = { + user_groups: ["*"], + user_is_bot: isBot, + user_text: username || '10.0.2.2' + } + // For purpose of tests usernames cannot contain a `.` character + if ( username.indexOf( '.' ) === -1 ) { + performer.user_id = 1; + } return { comment: '', meta: { topic: "mediawiki.revision-create" }, page_id: id, page_namespace: ns || 0, page_title: 'Foo', - performer: { - user_groups: ["*"], - user_is_bot: isBot, - user_text: username || '10.0.2.2' - }, + performer: performer, rev_id: 5, rev_len: 200, rev_minor_edit: false, @@ -38,6 +43,18 @@ assert.ok( pages[0].updated === '2016-11-15T18:03:55+00:00', 'Updated is timestamp of last edit' ); assert.ok( pages[0].from === '2016-11-15T18:00:55+00:00', 'from is timestamp of first recorded edit' ); }); + + it('counts the number of anonymous edits', function() { + processor.reset(); + processor.process( edit( 1, 'Jon', '2016-11-15T18:00:55+00:00' ) ); + processor.process( edit( 1, '127.0.0.1', '2016-11-16T18:00:55+00:00' ) ); + processor.process( edit( 1, '127.0.0.5', '2016-11-17T18:00:55+00:00' ) ); + + var pages = processor.getPages(); + assert.ok( pages.length === 1, 'Pages with same name are combined into single page' ); + assert.ok( pages[0].edits === 3, 'Edits are counted for all edits equally' ); + assert.ok( pages[0].anonEdits === 2, 'Anonymous edits are stored on another property' ); + }); }); describe('processor - initial state', function() { -- To view, visit https://gerrit.wikimedia.org/r/322975 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I39a3d5cf2fa29fa7410baca5042278fd10a2a76e Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/services/trending-edits Gerrit-Branch: master Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org> Gerrit-Reviewer: Mobrovac <mobro...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits