5
5
import mock
6
6
7
7
from readthedocs .projects .models import Project
8
+ from readthedocs .doc_builder .config import ConfigWrapper
8
9
from readthedocs .doc_builder .environments import LocalEnvironment
9
10
from readthedocs .doc_builder .python_environments import Virtualenv
10
11
from readthedocs .doc_builder .loader import get_builder_class
11
12
from readthedocs .projects .tasks import UpdateDocsTask
13
+ from readthedocs .rtd_tests .tests .test_config_wrapper import get_build_config
12
14
13
15
from ..mocks .environment import EnvironmentMockGroup
14
16
@@ -38,8 +40,10 @@ def test_build(self):
38
40
39
41
build_env = LocalEnvironment (project = project , version = version , build = {})
40
42
python_env = Virtualenv (version = version , build_env = build_env )
41
- task = UpdateDocsTask (build_env = build_env , python_env = python_env , version = version ,
42
- project = project , search = False , localmedia = False )
43
+ yaml_config = get_build_config ({})
44
+ config = ConfigWrapper (version = version , yaml_config = yaml_config )
45
+ task = UpdateDocsTask (build_env = build_env , project = project , python_env = python_env ,
46
+ version = version , search = False , localmedia = False , config = config )
43
47
task .build_docs ()
44
48
45
49
# Get command and check first part of command list is a call to sphinx
@@ -61,8 +65,11 @@ def test_build_respects_pdf_flag(self):
61
65
62
66
build_env = LocalEnvironment (project = project , version = version , build = {})
63
67
python_env = Virtualenv (version = version , build_env = build_env )
64
- task = UpdateDocsTask (build_env = build_env , python_env = python_env , version = version ,
65
- project = project , search = False , localmedia = False )
68
+ yaml_config = get_build_config ({})
69
+ config = ConfigWrapper (version = version , yaml_config = yaml_config )
70
+ task = UpdateDocsTask (build_env = build_env , project = project , python_env = python_env ,
71
+ version = version , search = False , localmedia = False , config = config )
72
+
66
73
task .build_docs ()
67
74
68
75
# The HTML and the Epub format were built.
@@ -84,8 +91,35 @@ def test_build_respects_epub_flag(self):
84
91
85
92
build_env = LocalEnvironment (project = project , version = version , build = {})
86
93
python_env = Virtualenv (version = version , build_env = build_env )
87
- task = UpdateDocsTask (build_env = build_env , python_env = python_env , version = version ,
88
- project = project , search = False , localmedia = False )
94
+ yaml_config = get_build_config ({})
95
+ config = ConfigWrapper (version = version , yaml_config = yaml_config )
96
+ task = UpdateDocsTask (build_env = build_env , project = project , python_env = python_env ,
97
+ version = version , search = False , localmedia = False , config = config )
98
+ task .build_docs ()
99
+
100
+ # The HTML and the Epub format were built.
101
+ self .mocks .html_build .assert_called_once_with ()
102
+ self .mocks .epub_build .assert_called_once_with ()
103
+ # PDF however was disabled and therefore not built.
104
+ self .assertFalse (self .mocks .pdf_build .called )
105
+
106
+ def test_build_respects_yaml (self ):
107
+ '''Test YAML build options'''
108
+ project = get (Project ,
109
+ slug = 'project-1' ,
110
+ documentation_type = 'sphinx' ,
111
+ conf_py_file = 'test_conf.py' ,
112
+ enable_pdf_build = False ,
113
+ enable_epub_build = False ,
114
+ versions = [fixture ()])
115
+ version = project .versions .all ()[0 ]
116
+
117
+ build_env = LocalEnvironment (project = project , version = version , build = {})
118
+ python_env = Virtualenv (version = version , build_env = build_env )
119
+ yaml_config = get_build_config ({'formats' : ['epub' ]})
120
+ config = ConfigWrapper (version = version , yaml_config = yaml_config )
121
+ task = UpdateDocsTask (build_env = build_env , project = project , python_env = python_env ,
122
+ version = version , search = False , localmedia = False , config = config )
89
123
task .build_docs ()
90
124
91
125
# The HTML and the Epub format were built.
@@ -137,8 +171,10 @@ def test_build_pdf_latex_failures(self):
137
171
138
172
build_env = LocalEnvironment (project = project , version = version , build = {})
139
173
python_env = Virtualenv (version = version , build_env = build_env )
174
+ yaml_config = get_build_config ({})
175
+ config = ConfigWrapper (version = version , yaml_config = yaml_config )
140
176
task = UpdateDocsTask (build_env = build_env , project = project , python_env = python_env ,
141
- version = version , search = False , localmedia = False )
177
+ version = version , search = False , localmedia = False , config = config )
142
178
143
179
# Mock out the separate calls to Popen using an iterable side_effect
144
180
returns = [
@@ -177,8 +213,10 @@ def test_build_pdf_latex_not_failure(self):
177
213
178
214
build_env = LocalEnvironment (project = project , version = version , build = {})
179
215
python_env = Virtualenv (version = version , build_env = build_env )
216
+ yaml_config = get_build_config ({})
217
+ config = ConfigWrapper (version = version , yaml_config = yaml_config )
180
218
task = UpdateDocsTask (build_env = build_env , project = project , python_env = python_env ,
181
- version = version , search = False , localmedia = False )
219
+ version = version , search = False , localmedia = False , config = config )
182
220
183
221
# Mock out the separate calls to Popen using an iterable side_effect
184
222
returns = [
0 commit comments