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'
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'
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'
def test_build_image_empty(): s = Service() c = YamlConfig() with pytest.raises(ValueError) as e: c.process_image_build(s, {}, '/base/path')
def test_build_image_dockerfile_no_path(): s = Service() c = YamlConfig() with pytest.raises(ConfigParseError): c.process_image_build(s, {'build': 'foo/bar'}, None)