Merge pull request #5338 from stsewd/require-file-when-using-conda

Require conda.file when using conda in v1
master
Eric Holscher 2019-02-22 10:49:09 -03:00 committed by GitHub
commit 86bfdffaee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 18 deletions

View File

@ -489,15 +489,14 @@ class BuildConfigV1(BuildConfigBase):
raw_conda = self.raw_config['conda']
with self.catch_validation_error('conda'):
validate_dict(raw_conda)
conda_environment = None
if 'file' in raw_conda:
with self.catch_validation_error('conda.file'):
if 'file' not in raw_conda:
raise ValidationError('file', VALUE_NOT_FOUND)
conda_environment = validate_file(
raw_conda['file'],
self.base_path,
)
conda['environment'] = conda_environment
return conda
return None

View File

@ -557,20 +557,12 @@ class TestValidateBuild:
assert build.build.image == image
def test_use_conda_default_false():
def test_use_conda_default_none():
build = get_build_config({})
build.validate()
assert build.conda is None
def test_use_conda_respects_config():
build = get_build_config(
{'conda': {}},
)
build.validate()
assert isinstance(build.conda, Conda)
def test_validates_conda_file(tmpdir):
apply_fs(tmpdir, {'environment.yml': ''})
build = get_build_config(
@ -582,6 +574,18 @@ def test_validates_conda_file(tmpdir):
assert build.conda.environment == str(tmpdir.join('environment.yml'))
def test_file_is_required_when_using_conda(tmpdir):
apply_fs(tmpdir, {'environment.yml': ''})
build = get_build_config(
{'conda': {'foo': 'environment.yml'}},
source_file=str(tmpdir.join('readthedocs.yml')),
)
with raises(InvalidConfig) as excinfo:
build.validate()
assert excinfo.value.key == 'conda.file'
assert excinfo.value.code == VALUE_NOT_FOUND
def test_requirements_file_empty():
build = get_build_config({})
build.validate()