Merge pull request #293 from burhan/tests-update

Updating the tests
This commit is contained in:
Daniel Greenfeld 2015-08-08 12:53:58 -07:00
commit 1d8c56af3e
2 changed files with 32 additions and 14 deletions

View File

@ -1,4 +1,5 @@
import os
import re
import shutil
import unittest
from os.path import exists, dirname, join
@ -14,6 +15,23 @@ class DjangoCookieTestCase(unittest.TestCase):
ctx = {}
destpath = None
def check_paths(self, paths):
"""
Method to check all paths have correct substitutions,
used by other tests cases
"""
# Construct the cookiecutter search pattern
pattern = "{{(\s?cookiecutter)[.](.*?)}}"
re_obj = re.compile(pattern)
# Assert that no match is found in any of the files
for path in paths:
for line in open(path, 'r'):
match = re_obj.search(line)
self.assertIsNone(
match,
"cookiecutter variable not replaced in {}".format(path))
def generate_project(self, extra_context=None):
ctx = {
"project_name": "My Test Project",

View File

@ -1,5 +1,4 @@
import re
from __future__ import absolute_import
import sh
from .base import DjangoCookieTestCase
@ -8,23 +7,24 @@ from .base import DjangoCookieTestCase
class TestCookiecutterSubstitution(DjangoCookieTestCase):
"""Test that all cookiecutter instances are substituted"""
def test_all_cookiecutter_instances_are_substituted(self):
def test_default_configuration(self):
# Build a list containing absolute paths to the generated files
paths = self.generate_project()
self.check_paths(paths)
# Construct the cookiecutter search pattern
pattern = "{{(\s?cookiecutter)[.](.*?)}}"
re_obj = re.compile(pattern)
def test_maildump_enabled(self):
paths = self.generate_project(extra_context={'use_maildump': 'y'})
self.check_paths(paths)
# Assert that no match is found in any of the files
for path in paths:
for line in open(path, 'r'):
match = re_obj.search(line)
self.assertIsNone(
match,
"cookiecutter variable not replaced in {}".format(path))
def test_celery_enabled(self):
paths = self.generate_project(extra_context={'use_celery': 'y'})
self.check_paths(paths)
def test_flake8_complaince(self):
def test_windows_enabled(self):
paths = self.generate_project(extra_context={'windows': 'y'})
self.check_paths(paths)
def test_flake8_compliance(self):
"""generated project should pass flake8"""
self.generate_project()
try: