Example #1
0
def test_required_bare_fields():
    settings = Settings()

    assert settings['CLOUD'] == 'bare'

    with pytest.raises(AssertionError):
        settings.validate_fields()

    settings['NODES'] = []
    settings['USERNAME'] = '******'
    settings['KEYPAIR'] = '~/.ssh/something'
    settings.validate_fields()
Example #2
0
def test_required_aws_fields():
    settings = Settings()
    settings['CLOUD'] = 'aws'

    with pytest.raises(AssertionError):
        settings.validate_fields()

    settings['AWS_KEY'] = '1'
    settings['AWS_SECRET'] = '1'
    settings['AWS_KEYNAME'] = '1'
    settings['AWS_REGION'] = '1'
    settings['AWS_SECURITY_GROUPS'] = '1'
    settings['AWS_IMAGE'] = '1'
    settings['AWS_SIZE'] = '1'
    settings['USERNAME'] = '******'
    settings['KEYPAIR'] = '~/.ssh/something'
    settings['NUMBER_NODES'] = 3
    settings.validate_fields()
Example #3
0
import pytest

from datasciencebox.core.settings import Settings
from datasciencebox.core.cloud.instance import Instance, BareInstance, AWSInstance, GCPInstance

default_username = '******'
default_keypair = 'default_keypair'

settings = Settings()
settings['USERNAME'] = default_username
settings['KEYPAIR'] = default_keypair


def test_new_bare():
    instance = Instance.new(settings=settings)
    assert isinstance(instance, BareInstance)

    instance = Instance.new(settings=settings, uid='myid')
    assert instance.uid == 'myid'
    assert instance.port == 22
    assert instance.username == default_username
    assert instance.keypair == default_keypair

    instance = Instance.new(settings=settings,
                            uid='myid',
                            ip='1.1.1.1',
                            port=33,
                            username='******',
                            keypair='mykey')
    assert instance.ip == '1.1.1.1'
    assert instance.port == 33