def test_minerserialization(self): sch = MinerSchema() miner = Miner('test') miner.status = MinerStatus.Offline miner.status = MinerStatus.Online miner.minerinfo = MinerInfo('Antminer S9', '123') miner.minerpool = MinerCurrentPool(miner, 'test pool', 'test worker', allpools={}) miner.minerpool.poolname = 'unittest' miner.minerstats = MinerStatistics(miner, datetime.datetime.utcnow(), 0, 1, 0, 99, 98, 97, 123, '', '', '') miner.minerstats.boardstatus1 = 'o' miner.minerstats.boardstatus2 = 'oo' miner.minerstats.boardstatus3 = 'ooo' jminer = sch.dumps(miner).data #rehydrate miner reminer = MinerSchema().loads(jminer).data self.assertTrue(isinstance(reminer.minerinfo, MinerInfo)) self.assertTrue(isinstance(reminer.minerpool, MinerCurrentPool)) self.assertTrue(reminer.minerpool.poolname == 'unittest') self.assertTrue(isinstance(reminer.minerstats, MinerStatistics)) self.assertTrue(reminer.laststatuschanged) self.assertTrue(reminer.minerstats.boardstatus1 == 'o') self.assertTrue(reminer.minerstats.boardstatus2 == 'oo') self.assertTrue(reminer.minerstats.boardstatus3 == 'ooo')
def test_miner_currentpoolname(self): miner = Miner('test') self.assertTrue(miner.currentpoolname() == '?') miner.minerpool = MinerCurrentPool(miner, 'test pool', 'test worker', allpools={}, poolname='unit test') self.assertTrue(miner.currentpoolname() == 'unit test') self.assertFalse( miner.minerpool.findpoolnumberforpool('test pool', 'test worker'))
def test_miner_pools_available(self): miner = Miner('test') self.assertTrue(miner.pools_available is None) miner.minerpool = MinerCurrentPool(miner, 'test pool', 'test worker', allpools={}) self.assertTrue(len(miner.pools_available) == 0) miner.minerpool.allpools = { "POOLS": [{ "Pool Stale%": 0, "Accepted": 421743, "Difficulty Stale": 0, "Stratum URL": "test", "Rejected": 85, "Difficulty Accepted": 6587318272, "Best Share": 4019408192, "User": "******", "Stratum Active": True, "Difficulty Rejected": 1343488, "Diff": "16.4K", "Remote Failures": 3, "Discarded": 1094132, "Long Poll": "N", "Proxy": "", "Priority": 0, "Has GBT": False, "Pool Rejected%": 0.0204, "Stale": 63, "Last Share Difficulty": 16384, "Diff1 Shares": 0, "Has Stratum": True, "Status": "Alive", "URL": "test", "Quota": 1, "Last Share Time": "0:00:05", "Getworks": 70163, "Get Failures": 3, "POOL": 3, "Proxy Type": "" }] } self.assertTrue(len(miner.pools_available) > 0) self.assertTrue(miner.minerpool.findpoolnumberforpool('test', 'test')) self.assertFalse(miner.minerpool.findpoolnumberforpool('not', 'found'))