Skip to content

Commit

Permalink
Added Ping Command
Browse files Browse the repository at this point in the history
  • Loading branch information
super3 committed May 30, 2015
1 parent 3494e56 commit 4c446d6
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 1 deletion.
11 changes: 10 additions & 1 deletion dataserv/Farmer.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def __init__(self, btc_addr, last_seen=None, last_audit=None):
self.btc_addr = btc_addr
self.last_seen = last_seen
self.last_audit = last_audit
self.iter_seed = None
self.iter_num = None
self.response = None

def __repr__(self):
Expand Down Expand Up @@ -68,3 +68,12 @@ def register(self):
def exists(self):
"""Check to see if this address is already listed."""
return db.session.query(Farmer.btc_addr).filter(Farmer.btc_addr == self.btc_addr).count() > 0

def ping(self):
"""
Keep alive for the farmer. Validation can take a long time, sp
we just want to know if they are still there.
"""
self = Farmer.query.filter_by(btc_addr=self.btc_addr)
self.update(dict(last_seen=datetime.utcnow()))

17 changes: 17 additions & 0 deletions tests/test_Farmer.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import unittest
from dataserv.Farmer import sha256
from dataserv.Farmer import Farmer, db


Expand Down Expand Up @@ -49,3 +50,19 @@ def test_register(self):
# double check they are not in the db
self.assertFalse(farmer2.exists())
self.assertFalse(farmer3.exists())

def test_ping(self):
addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc'
farmer = Farmer(addr)
farmer.register()

register_time = farmer.last_seen
farmer.ping() # should update last seen
ping_time = farmer.last_seen

self.assertNotEqual(register_time, ping_time)

def test_sha256(self):
ans = 'c059c8035bbd74aa81f4c787c39390b57b974ec9af25a7248c46a3ebfe0f9dc8'
self.assertEqual(sha256("storj"), ans)
self.assertNotEqual(sha256("not storj"), ans)

0 comments on commit 4c446d6

Please sign in to comment.