refactoring out common method to base class

This commit is contained in:
Burhan Khalid 2015-07-29 00:11:06 +03:00
parent 80383aba19
commit 34d56787c4
2 changed files with 19 additions and 12 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

@ -11,18 +11,7 @@ class TestCookiecutterSubstitution(DjangoCookieTestCase):
def test_all_cookiecutter_instances_are_substituted(self):
# Build a list containing absolute paths to the generated files
paths = self.generate_project()
# 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))
self.check_paths(paths)
def test_flake8_complaince(self):
"""generated project should pass flake8"""