Exemple #1
0
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)
Exemple #2
0
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
Exemple #3
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
Exemple #4
0
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)