Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_cookiecutter_git(monkeypatch):
monkeypatch.setattr(
'cookiecutter.prompt.read_user_variable',
lambda var, default: default
)
main.cookiecutter('https://github.com/audreyr/cookiecutter-pypackage.git')
clone_dir = os.path.join(
os.path.expanduser('~/.cookiecutters'),
'cookiecutter-pypackage'
)
assert os.path.exists(clone_dir)
assert os.path.isdir('boilerplate')
assert os.path.isfile('boilerplate/README.rst')
assert os.path.exists('boilerplate/setup.py')
def example_instance(tmpdir_factory):
from cookiecutter.main import cookiecutter
import pip
tmpdir = tmpdir_factory.mktemp('example_instance')
with tmpdir.as_cwd():
cookiecutter(PROJECT_ROOT, no_input=True, config_file=os.path.join(HERE, 'testconfig.yaml'))
instance_path = tmpdir.join('jupyter-widget-testwidgets')
with instance_path.as_cwd():
print(str(instance_path))
try:
pip.main(['install', '-v', '-e', '.[test]'])
yield instance_path
finally:
try:
pip.main(['uninstall', 'jupyter_widget_testwidgets', '-y'])
except Exception:
pass
def test_cookiecutter_local_with_input(self):
if not PY3:
sys.stdin = StringIO("\n\n\n\n\n\n\n\n\n\n\n\n")
main.cookiecutter('tests/fake-repo-pre/', no_input=False)
self.assertTrue(os.path.isdir('tests/fake-repo-pre/{{cookiecutter.repo_name}}'))
self.assertFalse(os.path.isdir('tests/fake-repo-pre/fake-project'))
self.assertTrue(os.path.isdir('fake-project'))
self.assertTrue(os.path.isfile('fake-project/README.rst'))
self.assertFalse(os.path.exists('fake-project/json/'))
def fin_remove_fake_project_dir():
if os.path.isdir('fake-project'):
utils.rmtree('fake-project')
request.addfinalizer(fin_remove_fake_project_dir)
def fin_remove_additional_folders():
if os.path.exists('inputpizzä'):
utils.rmtree('inputpizzä')
if os.path.exists('inputgreen'):
utils.rmtree('inputgreen')
if os.path.exists('inputbinary_files'):
utils.rmtree('inputbinary_files')
if os.path.exists('tests/custom_output_dir'):
utils.rmtree('tests/custom_output_dir')
if os.path.exists('inputpermissions'):
utils.rmtree('inputpermissions')
request.addfinalizer(fin_remove_additional_folders)
def tearDown(self):
with utils.work_in(config.DEFAULT_CONFIG['cookiecutters_dir']):
if os.path.isdir('cookiecutter-pypackage'):
utils.rmtree('cookiecutter-pypackage')
if os.path.isdir('boilerplate'):
utils.rmtree('boilerplate')
super(TestGitBranch, self).tearDown()
def bake_in_temp_dir(cookies, *args, **kwargs):
"""
Delete the temporal directory that is created when executing the tests
:param cookies: pytest_cookies.Cookies, cookie to be baked and its
temporalfiles will be removed
"""
result = cookies.bake(*args, **kwargs)
try:
yield result
finally:
rmtree(str(result.project))
def finalizer_remove_output_folder():
if os.path.exists('output_folder'):
utils.rmtree('output_folder')
request.addfinalizer(finalizer_remove_output_folder)
def test_make_sure_path_exists():
if sys.platform.startswith('win'):
existing_directory = os.path.abspath(os.curdir)
uncreatable_directory = 'a*b'
else:
existing_directory = '/usr/'
uncreatable_directory = '/this-doesnt-exist-and-cant-be-created/'
assert utils.make_sure_path_exists(existing_directory)
assert utils.make_sure_path_exists('tests/blah')
assert utils.make_sure_path_exists('tests/trailingslash/')
assert not utils.make_sure_path_exists(uncreatable_directory)
utils.rmtree('tests/blah/')
utils.rmtree('tests/trailingslash/')
def remove_cookiecutter_dirs():
if os.path.isdir('cookiecutter-pypackage'):
utils.rmtree('cookiecutter-pypackage')
if os.path.isdir('cookiecutter-trytonmodule'):
utils.rmtree('cookiecutter-trytonmodule')
request.addfinalizer(remove_cookiecutter_dirs)