Skip to content

Commit 64cd38a

Browse files
committed
Fix tests
1 parent 4aae7d1 commit 64cd38a

File tree

1 file changed

+42
-34
lines changed

1 file changed

+42
-34
lines changed

readthedocs/rtd_tests/tests/test_doc_builder.py

+42-34
Original file line numberDiff line numberDiff line change
@@ -30,23 +30,13 @@ def setUp(self):
3030
self.project = Project.objects.get(slug='pip')
3131
self.version = self.project.versions.first()
3232

33-
build_env = namedtuple('project', 'version')
34-
build_env.project = self.project
35-
build_env.version = self.version
33+
self.build_env = namedtuple('project', 'version')
34+
self.build_env.project = self.project
35+
self.build_env.version = self.version
3636

3737
BaseSphinx.type = 'base'
3838
BaseSphinx.sphinx_build_dir = tempfile.mkdtemp()
3939

40-
python_env = Virtualenv(
41-
version=self.version,
42-
build_env=build_env,
43-
config=None,
44-
)
45-
self.base_sphinx = BaseSphinx(
46-
build_env=build_env,
47-
python_env=python_env,
48-
)
49-
5040
@patch(
5141
'readthedocs.doc_builder.backends.sphinx.SPHINX_TEMPLATE_DIR',
5242
'/tmp/sphinx-template-dir',
@@ -57,7 +47,8 @@ def setUp(self):
5747
@patch('readthedocs.doc_builder.backends.sphinx.BaseSphinx.run')
5848
@patch('readthedocs.builds.models.Version.get_conf_py_path')
5949
@patch('readthedocs.builds.models.Project.conf_file')
60-
def test_create_conf_py(self, conf_file, get_conf_py_path, _, get_config_params, create_index, docs_dir):
50+
@patch('readthedocs.projects.models.Project.checkout_path')
51+
def test_create_conf_py(self, checkout_path, conf_file, get_conf_py_path, _, get_config_params, create_index, docs_dir):
6152
"""
6253
Test for a project without ``conf.py`` file.
6354
@@ -69,20 +60,35 @@ def test_create_conf_py(self, conf_file, get_conf_py_path, _, get_config_params,
6960
any kind of exception raised by ``append_conf`` (we were originally
7061
having a ``TypeError`` because of an encoding problem in Python3)
7162
"""
63+
checkout_path.return_value = tempfile.mkdtemp()
7264
docs_dir.return_value = tempfile.mkdtemp()
7365
create_index.return_value = 'README.rst'
7466
get_config_params.return_value = {}
7567
get_conf_py_path.side_effect = ProjectConfigurationError
7668
conf_file.return_value = tempfile.mktemp()
69+
python_env = Virtualenv(
70+
version=self.version,
71+
build_env=self.build_env,
72+
config=None,
73+
)
74+
base_sphinx = BaseSphinx(
75+
build_env=self.build_env,
76+
python_env=python_env,
77+
)
7778
try:
78-
self.base_sphinx.append_conf()
79+
base_sphinx.append_conf()
7980
except Exception:
8081
pytest.fail('Exception was generated when append_conf called.')
8182

8283
# Check the content generated by our method is the same than what we
8384
# expects from a pre-generated file
84-
generated_conf_py = os.path.join(self.base_sphinx.docs_dir(), 'conf.py')
85-
expected_conf_py = os.path.join(os.path.dirname(__file__), '..', 'files', 'conf.py')
85+
generated_conf_py = os.path.join(base_sphinx.docs_dir(), 'conf.py')
86+
expected_conf_py = os.path.join(
87+
os.path.dirname(__file__),
88+
'..',
89+
'files',
90+
'conf.py'
91+
)
8692
with open(generated_conf_py) as gf, open(expected_conf_py) as ef:
8793
self.assertEqual(gf.read(), ef.read())
8894

@@ -95,21 +101,13 @@ def setUp(self):
95101
self.project = Project.objects.get(slug='pip')
96102
self.version = self.project.versions.first()
97103

98-
build_env = namedtuple('project', 'version')
99-
build_env.project = self.project
100-
build_env.version = self.version
101-
102-
python_env = Virtualenv(
103-
version=self.version,
104-
build_env=build_env,
105-
config=None,
106-
)
107-
self.searchbuilder = SearchBuilder(
108-
build_env=build_env,
109-
python_env=python_env,
110-
)
104+
self.build_env = namedtuple('project', 'version')
105+
self.build_env.project = self.project
106+
self.build_env.version = self.version
111107

112-
def test_ignore_patterns(self):
108+
@patch('readthedocs.projects.models.Project.checkout_path')
109+
def test_ignore_patterns(self, checkout_path):
110+
checkout_path.return_value = tempfile.mkdtemp()
113111
src = tempfile.mkdtemp()
114112
src_static = os.path.join(src, '_static/')
115113
src_other = os.path.join(src, 'other/')
@@ -120,14 +118,24 @@ def test_ignore_patterns(self):
120118
dest_static = os.path.join(dest, '_static/')
121119
dest_other = os.path.join(dest, 'other/')
122120

123-
self.searchbuilder.old_artifact_path = src
124-
self.searchbuilder.target = dest
121+
python_env = Virtualenv(
122+
version=self.version,
123+
build_env=self.build_env,
124+
config=None,
125+
)
126+
searchbuilder = SearchBuilder(
127+
build_env=self.build_env,
128+
python_env=python_env,
129+
)
130+
131+
searchbuilder.old_artifact_path = src
132+
searchbuilder.target = dest
125133

126134
# There is a _static/ dir in src/ but not in dest/
127135
self.assertTrue(os.path.exists(src_static))
128136
self.assertFalse(os.path.exists(dest_static))
129137

130-
self.searchbuilder.move()
138+
searchbuilder.move()
131139

132140
# There is a dest/other/ but not a dest/_static
133141
self.assertFalse(os.path.exists(dest_static))

0 commit comments

Comments
 (0)