Stefan.petrea has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/87588


Change subject: Adding one more test to survival metric
......................................................................

Adding one more test to survival metric

Change-Id: I9a7656f85d457369c532d5f3351d0cbfc6f5da8e
---
M tests/test_metrics/test_survivors.py
M wikimetrics/metrics/survivors.py
2 files changed, 34 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics 
refs/changes/88/87588/1

diff --git a/tests/test_metrics/test_survivors.py 
b/tests/test_metrics/test_survivors.py
index f6eb781..3bb217e 100644
--- a/tests/test_metrics/test_survivors.py
+++ b/tests/test_metrics/test_survivors.py
@@ -1,11 +1,14 @@
 from datetime import datetime
+from time import time
 from nose.tools import assert_equal
 
 from tests.fixtures import DatabaseWithSurvivorCohortTest
 from wikimetrics.metrics import Survivors
 from wikimetrics.models import (
-    Cohort, MetricReport, WikiUser, CohortWikiUser, MediawikiUser,
+    Cohort, MetricReport, WikiUser, CohortWikiUser, MediawikiUser, 
+    Revision
 )
+
 
 
 class SurvivorsTest(DatabaseWithSurvivorCohortTest):
@@ -68,7 +71,6 @@
         assert_equal(results[self.mw_evan_id]["survivor"], True)
         assert_equal(results[self.mw_andrew_id]["survivor"] , True)
     
-    # for [T+t,today] the observation is censored
     def test_censored1(self):
         
         # NOTE: setting sunset_in_hours 10000 days in the future
@@ -86,3 +88,28 @@
             self.mw_andrew_id: {'censored': 1, 'survivor': 0},
             self.mw_diederik_id: {'censored': 0, 'survivor': 0},
         })
+
+    def test_censored2(self):
+        
+        # NOTE: setting sunset_in_hours 10000 days in the future
+        # This means that in 82 years, this test will break
+        andrew_user = 
self.mwSession.query(MediawikiUser).filter(MediawikiUser.user_id == 
self.mw_andrew_id).first()
+        andrew_revs = self.mwSession.query(Revision).join(MediawikiUser) \
+                .filter(MediawikiUser.user_id==self.mw_andrew_id) \
+                .order_by(Revision.rev_timestamp) \
+                .all()
+
+        m = Survivors(
+            namespaces=[self.survivors_namespace],
+            number_of_edits=2,
+            survival_hours=int(((andrew_revs[2].rev_timestamp - 
andrew_user.user_registration).total_seconds())/(3600)),
+            sunset_in_hours=2*48
+        )
+        results = m(list(self.cohort), self.mwSession)
+
+        assert_equal(results, {
+            self.mw_dan_id: {'censored': 0, 'survivor': 0},
+            self.mw_evan_id: {'censored': 0, 'survivor': 0},
+            self.mw_andrew_id: {'censored': 0, 'survivor': 1},
+            self.mw_diederik_id: {'censored': 0, 'survivor': 0},
+        })
diff --git a/wikimetrics/metrics/survivors.py b/wikimetrics/metrics/survivors.py
index ee88252..504e06b 100644
--- a/wikimetrics/metrics/survivors.py
+++ b/wikimetrics/metrics/survivors.py
@@ -178,11 +178,14 @@
             }
             for u in data
         }
-        
-        return {
+
+        r = {
             uid: metric_results.get(uid, {
                 'survivor': None,
                 CENSORED: None,
             })
             for uid in user_ids
         }
+
+        #self.debug_print(r, session, user_ids)
+        return r

-- 
To view, visit https://gerrit.wikimedia.org/r/87588
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9a7656f85d457369c532d5f3351d0cbfc6f5da8e
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: Stefan.petrea <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to