def test_virtual_machine_create_wants_override(mock_get_config, mock_list_virtual_machines): mock_list_virtual_machines.return_code = [] mock_get_config.return_value = generic_valid_config virtual_machine_create(machine_id=valid_id, days=1, memory=1, disk=10, cores=1, bandwidth=0, currency='bch', refund_address='1address', override_code='plzletmein', qemuopts=None, managed=False, hostaccess=False)
def test_virtual_machine_create_payment(mock_get_config, mock_list): mock_list.return_code = [] mock_get_config.return_value = generic_valid_config return_data = virtual_machine_create(machine_id=valid_id, days=1, memory=1, disk=10, cores=1, currency='btc', bandwidth=0, refund_address='1address', override_code=None, qemuopts=None, managed=False, hostaccess=False) assert return_data['paid'] is False print(return_data['payment']['address']) assert return_data['payment']['address'] == btc_address assert return_data['bandwidth'] == 0
def test_virtual_machine_create(mock_get_config, mock_list_virtual_machines): mock_list_virtual_machines.return_code = [] mock_get_config.return_value = generic_valid_config return_data = virtual_machine_create(machine_id=valid_id, days=2, memory=1, disk=10, cores=1, ipv4='/32', ipv6='/128', bandwidth=5, currency='btc', refund_address='1address', override_code=None, qemuopts=None, managed=False, hostaccess=False) assert return_data['paid'] is False # Included bandwidth is 10GiB, * 2 days. assert return_data['bandwidth'] == 20
def test_virtual_machine_create_earns_override(mock_get_config, mock_launch_vm_and_wait, mock_list_virtual_machines): mock_list_virtual_machines.return_code = [] our_config = generic_valid_config.copy() mock_get_config.return_value = our_config mock_launch_vm_and_wait.return_value = { 'sshhostname': 'foo.onion', 'sshport': 22, 'slot': 4000, 'network_interfaces': [{}] } return_data = virtual_machine_create(machine_id=valid_id, days=2, memory=1, disk=10, cores=1, bandwidth=0, currency='bch', refund_address='1address', override_code='prettyplease', qemuopts=None, managed=False, hostaccess=False) assert return_data['paid'] is True assert return_data['created'] is True assert return_data['sshhostname'] == 'foo.onion' assert return_data['sshport'] == 22 assert return_data['slot'] == 4000 assert return_data['bandwidth'] == 0 # Override should allow us to do bandwidth: -1 return_data = virtual_machine_create(machine_id=valid_id, days=1, memory=1, disk=10, cores=1, ipv4='tor', ipv6='tor', bandwidth=-1, currency='bch', refund_address='1address', override_code='prettyplease', qemuopts=None, managed=False, hostaccess=False) assert return_data['paid'] is True assert return_data['created'] is True assert return_data['sshhostname'] == 'foo.onion' assert return_data['sshport'] == 22 assert return_data['slot'] == 4000 assert return_data['bandwidth'] == -1 # Make sure draining with override does not stop new builds. our_config['draining'] = True virtual_machine_create(machine_id=valid_id, days=1, memory=1, disk=10, cores=1, bandwidth=0, currency='bch', refund_address='1address', override_code='prettyplease', qemuopts=None, managed=False, hostaccess=False)