Skip to content

Commit 151ec87

Browse files
authored
Merge pull request #57 from ayan-b/add-test
[WIP] tests: Add tests
2 parents a2364ab + 0bbe791 commit 151ec87

File tree

7 files changed

+90
-1
lines changed

7 files changed

+90
-1
lines changed

.travis.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ python:
66
notifications:
77
email: false
88
install:
9-
- pip install -r test_requirements.txt
9+
- pip install -r test_requirements.txt -r tests/requirements.txt
1010
stages:
1111
- test
1212
- moban
@@ -23,3 +23,4 @@ stage: test
2323
script:
2424
- find templates/ -type f -name '*.jj2' -exec echo '{}' \;|sed -e "s/templates\//{%include \"/" -e "s/$/\" %}/" > test.file
2525
- moban -c config/data.yml -t test.file -td templates .
26+
- pytest

tests/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pytest~=3.6.1

tests/test_NEW_BSD_LICENSE.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import jinja2
2+
3+
from test_utils import get_rendered_file
4+
5+
6+
def test_NEW_BSD_LICENSE():
7+
filename = 'NEW_BSD_LICENSE.jj2'
8+
context = {
9+
'copyright_year': '2018',
10+
'company': 'dummy',
11+
'name': 'first last',
12+
'something_else': 'hello world',
13+
}
14+
rendered = get_rendered_file(filename, context)
15+
assert '2018' in rendered
16+
assert 'dummy' in rendered
17+
assert 'first last' in rendered
18+
assert 'hello world' not in rendered

tests/test___init__.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import jinja2
2+
3+
from test_utils import get_rendered_file
4+
5+
6+
def test_underscore_replacement():
7+
context = {
8+
'name': 'dummy-0.0.0',
9+
}
10+
filename = '__init__.py.jj2'
11+
rendered = get_rendered_file(filename, context)
12+
assert 'dummy_0.0.0' in rendered
13+
assert 'dummy-0.0.0' not in rendered

tests/test_requirements.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import textwrap
2+
3+
import jinja2
4+
5+
from test_utils import get_rendered_file
6+
7+
8+
def test_requirements():
9+
context = {
10+
'dependencies': [
11+
'dependency',
12+
'dependency #with_comment',
13+
'dependency#with_comment_no_space',
14+
'dependency#egg=dependency',
15+
'git+https://github.com/user/repo#egg=repo',
16+
'# actual comment',
17+
]
18+
}
19+
filename = 'requirements.txt.jj2'
20+
rendered = get_rendered_file(filename, context)
21+
expected_requirements = textwrap.dedent("""\
22+
dependency
23+
dependency #with_comment
24+
dependency#with_comment_no_space
25+
dependency#egg=dependency
26+
git+https://github.com/user/repo#egg=repo
27+
# actual comment
28+
""")
29+
assert expected_requirements == rendered

tests/test_utils.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import jinja2
2+
3+
PATH_TO_TEMPLATES = './templates'
4+
5+
6+
def get_rendered_file(filename, context):
7+
rendered = jinja2.Environment(
8+
loader=jinja2.FileSystemLoader(PATH_TO_TEMPLATES),
9+
trim_blocks=True, lstrip_blocks=True
10+
).get_template(filename).render(context)
11+
return rendered

tests/test_version.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import jinja2
2+
3+
from test_utils import get_rendered_file
4+
5+
6+
def test_version():
7+
context = {
8+
'author': 'author_name',
9+
'version': '0.0.1',
10+
'something_else': 'hello world',
11+
}
12+
filename = '_version.py.jj2'
13+
rendered = get_rendered_file(filename, context)
14+
assert 'author_name' in rendered
15+
assert '0.0.1' in rendered
16+
assert 'hello world' not in rendered

0 commit comments

Comments
 (0)