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')
Example #2
0
 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'))
Example #3
0
 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'))