| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import sys
- import pytest
- import shutil
- from pathlib import Path
- from cookiecutter import main
- CCDS_ROOT = Path(__file__).parents[1].resolve()
- args = {
- 'project_name': 'keker',
- 'author_name': 'kaker',
- 'open_source_license': 'BSD-3-Clause',
- 'python_interpreter': 'python'
- }
- def system_check(basename):
- platform = sys.platform
- if 'linux' in platform:
- basename = basename.lower()
- return basename
- @pytest.fixture(scope='class', params=[{}, args])
- def default_baked_project(tmpdir_factory, request):
- temp = tmpdir_factory.mktemp('data-project')
- out_dir = Path(temp).resolve()
- pytest.param = request.param
- main.cookiecutter(
- str(CCDS_ROOT),
- no_input=True,
- extra_context=pytest.param,
- output_dir=out_dir
- )
- pn = pytest.param.get('project_name') or 'project_name'
-
- # project name gets converted to lower case on Linux but not Mac
- pn = system_check(pn)
- proj = out_dir / pn
- request.cls.path = proj
- yield
- # cleanup after
- shutil.rmtree(out_dir)
|