Esempio n. 1
0
 def test_register_payout(self):
     client = api.Client(url=url, config_path=tempfile.mktemp())
     config = client.config()
     self.assertTrue(client.register())
     result = json.loads(
         urlopen(url + '/api/online/json').read().decode('utf8'))
     result = [
         farmer for farmer in result['farmers']
         if farmer['payout_addr'] == config['payout_address']
     ]
     last_seen = result[0]['last_seen']
     reg_time = result[0]['reg_time']
     result = json.dumps(result, sort_keys=True)
     expected = json.dumps(
         [{
             'height': 0,
             'nodeid': common.address2nodeid(config['payout_address']),
             'last_seen': last_seen,
             'payout_addr': config['payout_address'],
             'reg_time': reg_time,
             'bandwidth_upload': 0,
             'bandwidth_download': 0,
             "ip": "",
             'uptime': 100.0
         }],
         sort_keys=True)
     self.assertEqual(result, expected)
Esempio n. 2
0
    def test_farm_registered(self):
        client = api.Client(url=url,
                            config_path=tempfile.mktemp(),
                            max_size=1024 * 256)  # 256K
        config = client.config()
        client.register()

        befor = datetime.datetime.now()
        self.assertTrue(client.farm(delay=2,
                                    limit=2))  # check farm return true
        after = datetime.datetime.now()

        # check that farm did 2 pings with 2 sec delay
        self.assertTrue(datetime.timedelta(seconds=2) <= (after - befor))

        result = json.loads(
            urlopen(url + '/api/online/json').read().decode('utf8'))
        result = [
            farmer for farmer in result['farmers']
            if farmer['payout_addr'] == config['payout_address']
        ]
        last_seen = result[0]['last_seen']
        reg_time = result[0]['reg_time']

        # check bandwidth and pop as expected result cannot be know
        bandwidth_upload = result[0].pop('bandwidth_upload')
        bandwidth_download = result[0].pop('bandwidth_download')
        self.assertGreater(bandwidth_upload, 0)
        self.assertGreater(bandwidth_download, 0)

        result = json.dumps(result, sort_keys=True)
        expected = json.dumps(
            [{
                'height': 2,
                'nodeid': common.address2nodeid(config['payout_address']),
                'last_seen': last_seen,
                'payout_addr': config['payout_address'],
                'reg_time': reg_time,
                "ip": "",
                'uptime': 100.0
            }],
            sort_keys=True)

        self.assertEqual(result, expected)
Esempio n. 3
0
    def test_build_min_free_space(self):

        store_path = tempfile.mktemp()
        os.mkdir(store_path)
        my_free_size = psutil.disk_usage(store_path).free - (1024 * 256)  # 256
        client = api.Client(url=url,
                            config_path=tempfile.mktemp(),
                            store_path=store_path,
                            max_size=1024 * 1024 * 2,
                            min_free_size=my_free_size)  # 256
        config = client.config()
        client.register()
        generated = client.build()
        self.assertTrue(len(generated) > 0)  # build at least 1 shard
        self.assertTrue(len(generated) < 16)  # stoped cause of free Space

        result = json.loads(
            urlopen(url + '/api/online/json').read().decode('utf8'))
        result = [
            farmer for farmer in result['farmers']
            if farmer['payout_addr'] == config['payout_address']
        ]
        last_seen = result[0]['last_seen']
        reg_time = result[0]['reg_time']
        result = json.dumps(result, sort_keys=True)
        expected = json.dumps(
            [{
                'height': len(generated),
                'nodeid': common.address2nodeid(config['payout_address']),
                'last_seen': last_seen,
                'payout_addr': config['payout_address'],
                'reg_time': reg_time,
                'bandwidth_upload': 0,
                'bandwidth_download': 0,
                "ip": "",
                'uptime': 100.0
            }],
            sort_keys=True)

        self.assertEqual(result, expected)
Esempio n. 4
0
 def get_nodeid(self):
     return common.address2nodeid(self.auth_address())
Esempio n. 5
0
 def get_nodeid(self):
     return common.address2nodeid(self.auth_address())