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

Reply via email to