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