Fix tests & fall back properly to Database
parent
c0b668058a
commit
7845c98580
|
@ -80,6 +80,18 @@ class ConfigWrapper(object):
|
|||
else:
|
||||
return self._project.requirements_file
|
||||
|
||||
@property
|
||||
def formats(self):
|
||||
if 'formats' in self._yaml_config:
|
||||
return self._yaml_config['formats']
|
||||
else:
|
||||
formats = ['htmlzip']
|
||||
if self._project.enable_epub_build:
|
||||
formats += ['epub']
|
||||
if self._project.enable_pdf_build:
|
||||
formats += ['pdf']
|
||||
return formats
|
||||
|
||||
# Not implemented until we figure out how to keep in sync with the webs.
|
||||
# Probably needs to be version-specific as well, not project.
|
||||
# @property
|
||||
|
|
|
@ -74,7 +74,7 @@ class UpdateDocsTask(Task):
|
|||
default_retry_delay = (7 * 60)
|
||||
name = 'update_docs'
|
||||
|
||||
def __init__(self, build_env=None, python_env=None, force=False, search=True, localmedia=True,
|
||||
def __init__(self, build_env=None, python_env=None, config=None, force=False, search=True, localmedia=True,
|
||||
build=None, project=None, version=None):
|
||||
self.build_env = build_env
|
||||
self.python_env = python_env
|
||||
|
@ -90,6 +90,8 @@ class UpdateDocsTask(Task):
|
|||
self.project = {}
|
||||
if project is not None:
|
||||
self.project = project
|
||||
if config is not None:
|
||||
self.config = config
|
||||
|
||||
def _log(self, msg):
|
||||
log.info(LOG_TEMPLATE
|
||||
|
@ -348,23 +350,17 @@ class UpdateDocsTask(Task):
|
|||
|
||||
def build_docs_pdf(self):
|
||||
"""Build PDF docs"""
|
||||
if 'pdf' not in self.config.formats:
|
||||
return False
|
||||
|
||||
if (self.project.slug in HTML_ONLY or
|
||||
not self.project.is_type_sphinx or
|
||||
not self.project.enable_pdf_build):
|
||||
if ('pdf' not in self.config.formats or
|
||||
self.project.slug in HTML_ONLY or
|
||||
not self.project.is_type_sphinx):
|
||||
return False
|
||||
return self.build_docs_class('sphinx_pdf')
|
||||
|
||||
def build_docs_epub(self):
|
||||
"""Build ePub docs"""
|
||||
if 'epub' not in self.config.formats:
|
||||
return False
|
||||
|
||||
if (self.project.slug in HTML_ONLY or
|
||||
not self.project.is_type_sphinx or
|
||||
not self.project.enable_epub_build):
|
||||
if ('epub' not in self.config.formats or
|
||||
self.project.slug in HTML_ONLY or
|
||||
not self.project.is_type_sphinx):
|
||||
return False
|
||||
return self.build_docs_class('sphinx_epub')
|
||||
|
||||
|
|
|
@ -5,10 +5,12 @@ from django_dynamic_fixture import fixture
|
|||
import mock
|
||||
|
||||
from readthedocs.projects.models import Project
|
||||
from readthedocs.doc_builder.config import ConfigWrapper
|
||||
from readthedocs.doc_builder.environments import LocalEnvironment
|
||||
from readthedocs.doc_builder.python_environments import Virtualenv
|
||||
from readthedocs.doc_builder.loader import get_builder_class
|
||||
from readthedocs.projects.tasks import UpdateDocsTask
|
||||
from readthedocs.rtd_tests.tests.test_config_wrapper import get_build_config
|
||||
|
||||
from ..mocks.environment import EnvironmentMockGroup
|
||||
|
||||
|
@ -38,8 +40,10 @@ class BuildEnvironmentTests(TestCase):
|
|||
|
||||
build_env = LocalEnvironment(project=project, version=version, build={})
|
||||
python_env = Virtualenv(version=version, build_env=build_env)
|
||||
task = UpdateDocsTask(build_env=build_env, python_env=python_env, version=version,
|
||||
project=project, search=False, localmedia=False)
|
||||
yaml_config = get_build_config({})
|
||||
config = ConfigWrapper(version=version, yaml_config=yaml_config)
|
||||
task = UpdateDocsTask(build_env=build_env, project=project, python_env=python_env,
|
||||
version=version, search=False, localmedia=False, config=config)
|
||||
task.build_docs()
|
||||
|
||||
# Get command and check first part of command list is a call to sphinx
|
||||
|
@ -61,8 +65,11 @@ class BuildEnvironmentTests(TestCase):
|
|||
|
||||
build_env = LocalEnvironment(project=project, version=version, build={})
|
||||
python_env = Virtualenv(version=version, build_env=build_env)
|
||||
task = UpdateDocsTask(build_env=build_env, python_env=python_env, version=version,
|
||||
project=project, search=False, localmedia=False)
|
||||
yaml_config = get_build_config({})
|
||||
config = ConfigWrapper(version=version, yaml_config=yaml_config)
|
||||
task = UpdateDocsTask(build_env=build_env, project=project, python_env=python_env,
|
||||
version=version, search=False, localmedia=False, config=config)
|
||||
|
||||
task.build_docs()
|
||||
|
||||
# The HTML and the Epub format were built.
|
||||
|
@ -84,8 +91,10 @@ class BuildEnvironmentTests(TestCase):
|
|||
|
||||
build_env = LocalEnvironment(project=project, version=version, build={})
|
||||
python_env = Virtualenv(version=version, build_env=build_env)
|
||||
task = UpdateDocsTask(build_env=build_env, python_env=python_env, version=version,
|
||||
project=project, search=False, localmedia=False)
|
||||
yaml_config = get_build_config({})
|
||||
config = ConfigWrapper(version=version, yaml_config=yaml_config)
|
||||
task = UpdateDocsTask(build_env=build_env, project=project, python_env=python_env,
|
||||
version=version, search=False, localmedia=False, config=config)
|
||||
task.build_docs()
|
||||
|
||||
# The HTML and the Epub format were built.
|
||||
|
@ -137,8 +146,10 @@ class BuildEnvironmentTests(TestCase):
|
|||
|
||||
build_env = LocalEnvironment(project=project, version=version, build={})
|
||||
python_env = Virtualenv(version=version, build_env=build_env)
|
||||
yaml_config = get_build_config({})
|
||||
config = ConfigWrapper(version=version, yaml_config=yaml_config)
|
||||
task = UpdateDocsTask(build_env=build_env, project=project, python_env=python_env,
|
||||
version=version, search=False, localmedia=False)
|
||||
version=version, search=False, localmedia=False, config=config)
|
||||
|
||||
# Mock out the separate calls to Popen using an iterable side_effect
|
||||
returns = [
|
||||
|
@ -177,8 +188,10 @@ class BuildEnvironmentTests(TestCase):
|
|||
|
||||
build_env = LocalEnvironment(project=project, version=version, build={})
|
||||
python_env = Virtualenv(version=version, build_env=build_env)
|
||||
yaml_config = get_build_config({})
|
||||
config = ConfigWrapper(version=version, yaml_config=yaml_config)
|
||||
task = UpdateDocsTask(build_env=build_env, project=project, python_env=python_env,
|
||||
version=version, search=False, localmedia=False)
|
||||
version=version, search=False, localmedia=False, config=config)
|
||||
|
||||
# Mock out the separate calls to Popen using an iterable side_effect
|
||||
returns = [
|
||||
|
|
Loading…
Reference in New Issue