oops, pass blur_usage to apps properly, add tests

This commit is contained in:
Brian Warner 2016-05-27 18:16:01 -07:00
parent eebc9ebd54
commit 5fe7d320ab
2 changed files with 35 additions and 1 deletions

View File

@ -534,7 +534,7 @@ class Rendezvous(service.MultiService):
service.MultiService.__init__(self)
self._db = db
self._welcome = welcome
self._blur_usage = None
self._blur_usage = blur_usage
log_requests = blur_usage is None
self._log_requests = log_requests
self._apps = {}

View File

@ -953,6 +953,40 @@ class Summary(unittest.TestCase):
self.assertEqual(summ(2, second=3, pruned=True),
Usage(1, 2, 4, u"pruney"))
def test_blur(self):
db = get_db(":memory:")
rv = rendezvous.Rendezvous(db, None, 3600)
APPID = u"appid"
app = rv.get_app(APPID)
app.claim_nameplate(u"npid", u"side1", 10) # start time is 10
rv.prune(now=123, old=50)
# start time should be rounded to top of the hour (blur_usage=3600)
row = db.execute("SELECT * FROM `nameplate_usage`").fetchone()
self.assertEqual(row["started"], 0)
app = rv.get_app(APPID)
app.open_mailbox(u"mbid", u"side1", 20) # start time is 20
rv.prune(now=123, old=50)
row = db.execute("SELECT * FROM `mailbox_usage`").fetchone()
self.assertEqual(row["started"], 0)
def test_no_blur(self):
db = get_db(":memory:")
rv = rendezvous.Rendezvous(db, None, None)
APPID = u"appid"
app = rv.get_app(APPID)
app.claim_nameplate(u"npid", u"side1", 10) # start time is 10
rv.prune(now=123, old=50)
row = db.execute("SELECT * FROM `nameplate_usage`").fetchone()
self.assertEqual(row["started"], 10)
app = rv.get_app(APPID)
app.open_mailbox(u"mbid", u"side1", 20) # start time is 20
rv.prune(now=123, old=50)
row = db.execute("SELECT * FROM `mailbox_usage`").fetchone()
self.assertEqual(row["started"], 20)
class Accumulator(protocol.Protocol):
def __init__(self):
self.data = b""