cookiecutter
26 строк · 1.1 Кб
1"""Collection of tests around loading extensions."""
2
3import pytest
4
5from cookiecutter.environment import StrictEnvironment
6from cookiecutter.exceptions import UnknownExtension
7
8
9def test_env_should_raise_for_unknown_extension() -> None:
10"""Test should raise if extension not installed in system."""
11context = {'cookiecutter': {'_extensions': ['foobar']}}
12
13with pytest.raises(UnknownExtension) as err:
14StrictEnvironment(context=context, keep_trailing_newline=True)
15
16assert 'Unable to load extension: ' in str(err.value)
17
18
19def test_env_should_come_with_default_extensions() -> None:
20"""Verify default extensions loaded with StrictEnvironment."""
21env = StrictEnvironment(keep_trailing_newline=True)
22assert 'cookiecutter.extensions.JsonifyExtension' in env.extensions
23assert 'cookiecutter.extensions.RandomStringExtension' in env.extensions
24assert 'cookiecutter.extensions.SlugifyExtension' in env.extensions
25assert 'cookiecutter.extensions.TimeExtension' in env.extensions
26assert 'cookiecutter.extensions.UUIDExtension' in env.extensions
27