Esempio n. 1
0
def test_build_build_volumes_several(tmpdir):
    s = Service()
    c = YamlConfig()

    foo1 = tmpdir.mkdir('foo1')
    foo2 = tmpdir.mkdir('foo2')
    foo3 = tmpdir.mkdir('foo3')

    c.process_volumes_build(
        s, {'volumes': {
            'foo1': 'bar1',
            'foo2': 'bar2',
            'foo3': 'bar3',
        }}, str(tmpdir))

    assert s.volumes == [{
        'local': str(foo1),
        'remote': 'bar1'
    }, {
        'local': str(foo2),
        'remote': 'bar2'
    }, {
        'local': str(foo3),
        'remote': 'bar3'
    }]
Esempio n. 2
0
def test_build_image_dockerfile():
    s = Service()
    c = YamlConfig()

    c.process_image_build(s, {'build': 'foo/bar'}, '/base/path')

    assert isinstance(s.image_builder, DockerfileImageBuilder)
    assert s.image_builder.path == '/base/path/foo/bar'
Esempio n. 3
0
def test_build_image_image():
    s = Service()
    c = YamlConfig()

    c.process_image_build(s, {'image': 'foo/bar'}, '/base/path')

    assert isinstance(s.image_builder, PrebuiltImageBuilder)
    assert s.image_builder.image == 'foo/bar'
Esempio n. 4
0
def test_build_inline_dockerfile():
    s = Service()
    c = YamlConfig()

    c.process_image_build(s, {'dockerfile': 'FROM foo\nWORKDIR boo'},
                          '/base/path')

    assert isinstance(s.image_builder, InlineDockerfileImageBuilder)
    assert s.image_builder.files['Dockerfile'] == 'FROM foo\nWORKDIR boo'
Esempio n. 5
0
def test_build_build_volumes_basepath(tmpdir):
    s = Service()
    c = YamlConfig()

    c.process_volumes_build(s, {'volumes': {
        '.': 'bar1',
    }}, str(tmpdir))

    assert s.volumes == [
        {
            'local': str(tmpdir),
            'remote': 'bar1'
        },
    ]
Esempio n. 6
0
def test_build_build_volumes_hackish_paths(path, result):
    s = Service()
    c = YamlConfig()

    c.process_volumes_build(s, {'volumes': {
        path: 'bar',
    }}, '/foo')

    assert s.volumes == [
        {
            'local': result,
            'remote': 'bar'
        },
    ]
Esempio n. 7
0
def test_build_build_volumes_single_file(tmpdir):
    s = Service()
    c = YamlConfig()

    tmpdir.join('nginx.conf').write('foo')

    c.process_volumes_build(s, {'volumes': {
        'nginx.conf': 'bar1',
    }}, str(tmpdir))

    assert s.volumes == [
        {
            'local': str(tmpdir.join('nginx.conf')),
            'remote': 'bar1'
        },
    ]
Esempio n. 8
0
def test_build_build_env_several():
    s = Service()
    c = YamlConfig(env='prod')

    c.process_env_build(
        s, {'env': {
            'foo1': 'bar1',
            'foo2': 'bar2',
            'foo3': 'bar3',
        }}, '/base/path')

    assert s.env == {
        'env': 'prod',
        'foo1': 'bar1',
        'foo2': 'bar2',
        'foo3': 'bar3',
    }
Esempio n. 9
0
def test_build_build_env_none():
    s = Service()
    c = YamlConfig(env='dev')

    c.process_env_build(s, {}, '/base/path')
    assert s.env == {'env': 'dev'}
Esempio n. 10
0
def test_build_build_env_empty():
    s = Service()
    c = YamlConfig()

    c.process_env_build(s, {'env': []}, '/base/path')
    assert s.env == {}
Esempio n. 11
0
def test_build_command_empty_string():
    s = Service()
    c = YamlConfig()

    c.process_command_build(s, {'cmd': ''}, '/base/path')
    assert s.command == None
Esempio n. 12
0
def test_build_build_volumes_none():
    s = Service()
    c = YamlConfig()

    c.process_volumes_build(s, {}, '/base/path')
    assert s.volumes == []
Esempio n. 13
0
def test_build_build_volumes_empty():
    s = Service()
    c = YamlConfig()

    c.process_volumes_build(s, {'volumes': []}, '/base/path')
    assert s.volumes == []
Esempio n. 14
0
def test_build_command_ok():
    s = Service()
    c = YamlConfig()

    c.process_command_build(s, {'cmd': 'ok --some args'}, '/base/path')
    assert s.command == 'ok --some args'
Esempio n. 15
0
def test_build_image_dockerfile_no_path():
    s = Service()
    c = YamlConfig()

    with pytest.raises(ConfigParseError):
        c.process_image_build(s, {'build': 'foo/bar'}, None)
Esempio n. 16
0
def test_build_image_empty():
    s = Service()
    c = YamlConfig()

    with pytest.raises(ValueError) as e:
        c.process_image_build(s, {}, '/base/path')
Esempio n. 17
0
def test_build_command_none():
    s = Service()
    c = YamlConfig()

    c.process_command_build(s, {'cmd': None}, '/base/path')
    assert s.command == None