예제 #1
0
 def test_create_with_index_and_doc_and_two_builders(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     docs:
         docs:
             builder: html
             dir: ""
             html_theme: default
             html_short_title: testsub
         docs2:
             dir: ""
             builder: pickle
     """
     self._add(prj, "code_config.yaml", base_yaml_conf_two_builders)
     self._add(prj, "index.rst", base_index_rst)
     self._add(prj, "doc1.rst", base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ["docs", "docs2"]
     pickle_builder = sd.get_builder("docs2")
     assert pickle_builder.template
     doc = pickle_builder.template_data("", {})
     assert doc["title"] == "Unit testing sphinx docs"
     html_builder = sd.get_builder("docs")
     assert not html_builder.template
     raw = html_builder.raw_content("index.html", {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #2
0
 def test_html_and_raw_builders_in_different_dirs(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     docs:
         html:
             dir: html_docs
             builder: html
         raw:
             builder: raw
             dir: pages
     """
     self._add(prj, 'code_config.yaml', base_yaml_conf_two_builders)
     self._add(prj, 'html_docs/index.rst', base_index_rst)
     self._add(prj, 'html_docs/doc1.rst', base_document1_rst)
     self._add(prj, 'pages/index.html', self.html1)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ['html', 'raw']
     raw_builder = sd.get_builder('raw')
     doc = raw_builder.raw_content('index.html', {})
     assert doc == self.html1
     html_builder = sd.get_builder('html')
     assert not html_builder.template
     raw = html_builder.raw_content('index.html', {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #3
0
 def test_two_builders_with_other_config_fmt(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     #sphinx_docs:
     #    dir: "docs"
     #    builders:
     #        - html:
     #            html_theme: default
     #            html_short_title: testsub
     #            dir: html_docs
     #        - raw:
     #            dir: pages
     docs:
         docs:
             builder: html
             html_theme: default
             html_short_title: testsub
             dir: html_docs
         pages:
             builder: raw
     """
     self._add(prj, 'code_config.yaml', base_yaml_conf_two_builders)
     self._add(prj, 'html_docs/index.rst', base_index_rst)
     self._add(prj, 'html_docs/doc1.rst', base_document1_rst)
     self._add(prj, 'pages/index.html', self.html1)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ['docs', 'pages']  # noqa Sorted alphabetically by default
     raw_builder = sd.get_builder('pages')
     doc = raw_builder.raw_content('index.html', {})
     assert doc == self.html1
     html_builder = sd.get_builder('docs')
     assert not html_builder.template
     raw = html_builder.raw_content('index.html', {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #4
0
 def test_create_with_index_and_doc_and_two_builders(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     docs:
         html:
             dir: ''
             builder: html
         pickle:
             dir: ''
             builder: pickle
     """
     self._add(prj, 'code_config.yaml', base_yaml_conf_two_builders)
     self._add(prj, 'index.rst', base_index_rst)
     self._add(prj, 'doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ['html', 'pickle']
     pickle_builder = sd.get_builder('pickle')
     assert pickle_builder.template
     doc = pickle_builder.template_data('', {})
     assert doc['title'] == 'Unit testing sphinx docs'
     html_builder = sd.get_builder('html')
     assert not html_builder.template
     raw = html_builder.raw_content('index.html', {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #5
0
    def test_html_and_raw_builders_in_different_dirs(self):
        prj = self._prj()
        base_yaml_conf_two_builders = """
docs:
    docs:
        builder: html
        html_short_title: testsub
        dir: html_docs
        html_theme: default
    pages:
        builder: raw
        dir: pages
"""
        self._add(prj, "code_config.yaml", base_yaml_conf_two_builders)
        self._add(prj, "html_docs/index.rst", base_index_rst)
        self._add(prj, "html_docs/doc1.rst", base_document1_rst)
        self._add(prj, "pages/index.html", self.html1)
        sd = SphinxDocs(prj.name)
        sd.build_all()
        assert sd.builders == ["docs", "pages"]
        raw_builder = sd.get_builder("pages")
        doc = raw_builder.raw_content("index.html", {})
        assert doc == self.html1
        html_builder = sd.get_builder("docs")
        assert not html_builder.template
        raw = html_builder.raw_content("index.html", {})
        assert "<h1>Unit testing sphinx docs" in raw
예제 #6
0
 def test_two_builders_with_other_config_fmt(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     docs:
         docs:
             builder: html
             html_theme: default
             html_short_title: testsub
             dir: html_docs
         pages:
             builder: raw
     """
     self._add(prj, "code_config.yaml", base_yaml_conf_two_builders)
     self._add(prj, "html_docs/index.rst", base_index_rst)
     self._add(prj, "html_docs/doc1.rst", base_document1_rst)
     self._add(prj, "pages/index.html", self.html1)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ["docs", "pages"]  # noqa Sorted alphabetically by default
     raw_builder = sd.get_builder("pages")
     doc = raw_builder.raw_content("index.html", {})
     assert doc == self.html1
     html_builder = sd.get_builder("docs")
     assert not html_builder.template
     raw = html_builder.raw_content("index.html", {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #7
0
 def test_create_with_index_and_doc_and_two_builders(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     docs:
         docs:
             builder: html
             dir: ""
             html_theme: default
             html_short_title: testsub
         docs2:
             dir: ""
             builder: pickle
     """
     self._add(prj, 'code_config.yaml', base_yaml_conf_two_builders)
     self._add(prj, 'index.rst', base_index_rst)
     self._add(prj, 'doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ['docs', 'docs2']
     pickle_builder = sd.get_builder('docs2')
     assert pickle_builder.template
     doc = pickle_builder.template_data('', {})
     assert doc['title'] == 'Unit testing sphinx docs'
     html_builder = sd.get_builder('docs')
     assert not html_builder.template
     raw = html_builder.raw_content('index.html', {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #8
0
    def test_html_and_raw_builders_in_different_dirs(self):
        prj = self._prj()
        base_yaml_conf_two_builders = """
docs:
    docs:
        builder: html
        html_short_title: testsub
        dir: html_docs
        html_theme: default
    pages:
        builder: raw
        dir: pages
"""
        self._add(prj, 'code_config.yaml', base_yaml_conf_two_builders)
        self._add(prj, 'html_docs/index.rst', base_index_rst)
        self._add(prj, 'html_docs/doc1.rst', base_document1_rst)
        self._add(prj, 'pages/index.html', self.html1)
        sd = SphinxDocs(prj.name)
        sd.build_all()
        assert sd.builders == ['docs', 'pages']
        raw_builder = sd.get_builder('pages')
        doc = raw_builder.raw_content('index.html', {})
        assert doc == self.html1
        html_builder = sd.get_builder('docs')
        assert not html_builder.template
        raw = html_builder.raw_content('index.html', {})
        assert "<h1>Unit testing sphinx docs" in raw
예제 #9
0
 def test_html_and_raw_builders(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     docs:
         html:
             dir: docs
             builder: html
         raw:
             dir: docs
             builder: raw
     """
     self._add(prj, 'code_config.yaml', base_yaml_conf_two_builders)
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/index.html', self.html1)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ['html', 'raw']
     raw_builder = sd.get_builder('raw')
     doc = raw_builder.raw_content('index.html', {})
     assert doc == self.html1
     html_builder = sd.get_builder('html')
     assert not html_builder.template
     raw = html_builder.raw_content('index.html', {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #10
0
 def test_two_builders_with_other_config_fmt(self):
     prj = self._prj()
     base_yaml_conf_two_builders = """
     docs:
         docs:
             builder: html
             html_theme: default
             html_short_title: testsub
             dir: html_docs
         pages:
             builder: raw
     """
     self._add(prj, 'code_config.yaml', base_yaml_conf_two_builders)
     self._add(prj, 'html_docs/index.rst', base_index_rst)
     self._add(prj, 'html_docs/doc1.rst', base_document1_rst)
     self._add(prj, 'pages/index.html', self.html1)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.builders == ['docs', 'pages']  # noqa Sorted alphabetically by default
     raw_builder = sd.get_builder('pages')
     doc = raw_builder.raw_content('index.html', {})
     assert doc == self.html1
     html_builder = sd.get_builder('docs')
     assert not html_builder.template
     raw = html_builder.raw_content('index.html', {})
     assert "<h1>Unit testing sphinx docs" in raw
예제 #11
0
 def test_build_info(self):
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     bi = sd.last_build_info()
     assert bi['status'] == 'success'
예제 #12
0
 def test_build_info(self):
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     bi = sd.last_build_info()
     assert bi['status'] == 'success'
예제 #13
0
 def test_create_with_index_and_doc(self):
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     builder = sd.get_builder()
     doc = builder.template_data('', {})
     assert doc['title'] == 'Unit testing sphinx docs'
예제 #14
0
 def test_create_with_index_and_doc(self):
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     builder = sd.get_builder()
     doc = builder.template_data('', {})
     assert doc['title'] == 'Unit testing sphinx docs'
예제 #15
0
 def test_build_info(self):
     prj = self._prj()
     self._add(prj, "code_config.yaml", base_yaml_conf)
     self._add(prj, "index.rst", base_index_rst)
     self._add(prj, "doc1.rst", base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     bi = sd.last_build_info()
     assert bi["status"] == "success"
예제 #16
0
 def test_pages_no_docsdir(self):
     prj = self._prj()
     self._add(prj, "code_config.yaml", self.conf)
     self._add(prj, "pagesNOT_THE_SAME/index.html", self.html1)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.last_build_info()["status"] == "no_doc_dir_found"
     builder = sd.get_builder(sd.builders[0])
     assert builder.raw_content("index.html", {}) is False
예제 #17
0
 def test_pages_no_docsdir(self):
     prj = self._prj()
     self._add(prj, 'code_config.yaml', self.conf)
     self._add(prj, 'pagesNOT_THE_SAME/index.html', self.html1)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     assert sd.last_build_info()['status'] == 'no_doc_dir_found'
     builder = sd.get_builder(sd.builders[0])
     assert builder.raw_content('index.html', {}) is False
예제 #18
0
 def test_use_autodoc_not_configured(self):
     prj = self._prj()
     self._add(prj, 'docs/conf.py', self.conf_py)
     self._add(prj, 'docs/index.rst', self.index_rst)
     self._add(prj, 'testapi.py', self.api_py)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     builder = sd.get_builder()
     doc = builder.template_data('', {})
     assert "Test C docstring" not in doc['body']
예제 #19
0
 def test_create_with_index_and_doc(self):
     prj = self._prj()
     self._add(prj, "code_config.yaml", base_yaml_conf)
     self._add(prj, "index.rst", base_index_rst)
     self._add(prj, "doc1.rst", base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     builder = sd.get_builder("docs")
     doc = builder.template_data("", {})
     assert doc["title"] == "Unit testing sphinx docs"
예제 #20
0
 def test_use_autodoc_not_configured(self):
     prj = self._prj()
     self._add(prj, 'docs/conf.py', self.conf_py)
     self._add(prj, 'docs/index.rst', self.index_rst)
     self._add(prj, 'testapi.py', self.api_py)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     builder = sd.get_builder()
     doc = builder.template_data('', {})
     assert "Test C docstring" not in doc['body']
예제 #21
0
 def test_pages_mode(self):
     prj = self._prj()
     self._add(prj, "code_config.yaml", self.conf)
     self._add(prj, "pages/index.html", self.html1)
     sd = SphinxDocs(prj.name)
     assert sd.builders == ["pages"]
     assert sd.last_build_info() is None
     sd.build_all()
     assert sd.last_build_info()["status"] == "success"
     builder = sd.get_builder(sd.builders[0])
     assert builder.raw_content("index.html", {}) == self.html1
예제 #22
0
 def test_pages_mode(self):
     prj = self._prj()
     self._add(prj, 'code_config.yaml', self.conf)
     self._add(prj, 'pages/index.html', self.html1)
     sd = SphinxDocs(prj.name)
     assert sd.builders == [self.builder]
     assert sd.last_build_info() is None
     sd.build_all()
     assert sd.last_build_info()['status'] == 'success'
     builder = sd.get_builder(sd.builders[0])
     assert builder.raw_content('index.html', {}) == self.html1
예제 #23
0
 def test_create_with_index_and_doc_and_conf_py(self):
     conf_content = """rst_epilog = 'Ahhhhhhhhhhhhhhhh la fin' """
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     self._add(prj, 'docs/conf.py', conf_content)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     builder = sd.get_builder()
     doc = builder.template_data('', {})
     assert 'Ahhhhhhhhhhhhhhhh' in doc['body']
예제 #24
0
 def test_pages_mode(self):
     prj = self._prj()
     self._add(prj, 'code_config.yaml', self.conf)
     self._add(prj, 'pages/index.html', self.html1)
     sd = SphinxDocs(prj.name)
     assert sd.builders == ['pages']
     assert sd.last_build_info() is None
     sd.build_all()
     assert sd.last_build_info()['status'] == 'success'
     builder = sd.get_builder(sd.builders[0])
     assert builder.raw_content('index.html', {}) == self.html1
예제 #25
0
 def test_create_with_index_and_doc_and_conf_py(self):
     conf_content = """rst_epilog = 'Ahhhhhhhhhhhhhhhh la fin' """
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     self._add(prj, 'docs/conf.py', conf_content)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     builder = sd.get_builder()
     doc = builder.template_data('', {})
     assert 'Ahhhhhhhhhhhhhhhh' in doc['body']
예제 #26
0
 def test_create_with_index_and_doc_and_get_again(self):
     prj = self._prj()
     self._add(prj, 'code_config.yaml', base_yaml_conf)
     self._add(prj, 'index.rst', base_index_rst)
     self._add(prj, 'doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     sd2 = SphinxDocs(prj.name)
     builder = sd2.get_builder('docs')
     assert builder.template
     doc = builder.template_data('', {})
     assert doc['title'] == 'Unit testing sphinx docs'
예제 #27
0
 def test_need_rebuild(self):
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     sd = SphinxDocs(prj.name)
     assert sd.need_rebuild()
     sd.build_all()
     assert not sd.need_rebuild()
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)  # Bad, should not have to refresh object
     assert sd.need_rebuild()
     sd.build_all()
     assert not sd.need_rebuild()
예제 #28
0
 def test_need_rebuild(self):
     prj = self._prj()
     self._add(prj, 'docs/index.rst', base_index_rst)
     sd = SphinxDocs(prj.name)
     assert sd.need_rebuild()
     sd.build_all()
     assert not sd.need_rebuild()
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)  # Bad, should not have to refresh object
     assert sd.need_rebuild()
     sd.build_all()
     assert not sd.need_rebuild()
예제 #29
0
 def test_create_with_index_and_doc_and_get_again(self):
     prj = self._prj()
     self._add(prj, 'code_config.yaml', base_yaml_conf)
     self._add(prj, 'index.rst', base_index_rst)
     self._add(prj, 'doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     sd2 = SphinxDocs(prj.name)
     builder = sd2.get_builder()
     assert builder.template
     doc = builder.template_data('', {})
     assert doc['title'] == 'Unit testing sphinx docs'
예제 #30
0
 def test_need_rebuild(self):
     prj = self._prj()
     self._add(prj, "code_config.yaml", base_yaml_conf)
     self._add(prj, "index.rst", base_index_rst)
     sd = SphinxDocs(prj.name)
     assert sd.need_rebuild()
     sd.build_all()
     assert not sd.need_rebuild()
     self._add(prj, "doc1.rst", base_document1_rst)
     sd = SphinxDocs(prj.name)  # Bad, should not have to refresh object
     assert sd.need_rebuild()
     sd.build_all()
     assert not sd.need_rebuild()
예제 #31
0
 def test_create_with_index_and_doc(self):
     prj = self._prj()
     #        self._add(prj, 'code_config.yaml', base_yaml_conf)
     self._add(prj, 'docs/index.rst', base_index_rst)
     self._add(prj, 'docs/doc1.rst', base_document1_rst)
     sd = SphinxDocs(prj.name)
     sd.build_all()
     _el.CodeSearch.index_a_project_docs(prj.id)
     ds = _el.DocsSearch(prj.id)
     ret = ds._doc_file_as_dict('docs/doc1.rst', 'docs', 'docs')
     assert ret['doc_name'] == 'docs'
     assert ret['url'] == 'docs/rstdocs/doc1/'
     assert ret['content'] == base_document1_rst
     assert ret['type'] == 'docs'
     assert ret['doc_dir'] == 'docs'
     _el.CodeSearch.delete_a_project_docs(prj.id)
예제 #32
0
    def test_create_with_index_and_doc(self):
        prj = self._prj()
#        self._add(prj, 'code_config.yaml', base_yaml_conf)
        self._add(prj, 'docs/index.rst', base_index_rst)
        self._add(prj, 'docs/doc1.rst', base_document1_rst)
        sd = SphinxDocs(prj.name)
        sd.build_all()
        _el.CodeSearch.index_a_project_docs(prj.id)
        ds = _el.DocsSearch(prj.id)
        ret = ds._doc_file_as_dict('docs/doc1.rst', 'docs', 'docs')
        assert ret['doc_name'] == 'docs'
        assert ret['url'] == 'docs/rstdocs/doc1/'
        assert ret['content'] == base_document1_rst
        assert ret['type'] == 'docs'
        assert ret['doc_dir'] == 'docs'
        _el.CodeSearch.delete_a_project_docs(prj.id)
예제 #33
0
파일: settings.py 프로젝트: 000fan000/code
 def sphinx_docs(self, request):
     user = request.user
     docs = SphinxDocs(self.proj_name)
     if request.get_form_var('force_rebuild') == 'mq':
         sphinx_builds_add(self.proj_name)
         return request.redirect(
             '/%s/settings/sphinx_docs' % self.proj_name)
     if request.get_form_var('force_rebuild') == 'direct':
         docs.build_all()
         return request.redirect(
             '/%s/settings/sphinx_docs' % self.proj_name)
     tdt = {
         'project': CodeDoubanProject.get_by_name(self.proj_name),
         'request': request,
         'enabled': docs.enabled,
         'last_build': docs.last_build_info(),
         'user': user,
     }
     return st('settings/sphinx_docs.html', **tdt)
예제 #34
0
 def sphinx_docs(self, request):
     user = request.user
     docs = SphinxDocs(self.proj_name)
     if request.get_form_var('force_rebuild') == 'mq':
         sphinx_builds_add(self.proj_name)
         return request.redirect('/%s/settings/sphinx_docs' %
                                 self.proj_name)
     if request.get_form_var('force_rebuild') == 'direct':
         docs.build_all()
         return request.redirect('/%s/settings/sphinx_docs' %
                                 self.proj_name)
     tdt = {
         'project': CodeDoubanProject.get_by_name(self.proj_name),
         'request': request,
         'enabled': docs.enabled,
         'last_build': docs.last_build_info(),
         'user': user,
     }
     return st('settings/sphinx_docs.html', **tdt)