# # test_siteconfig.py # # Tests for site config generation (siteconfig.py). # # Copyright 2018 by # Nikhil Ramakrishnan. # # This file is part of the FreeType project, and may only be used, # modified, and distributed under the terms of the FreeType project # license, LICENSE.TXT. By continuing to use, modify, or distribute # this file you indicate that you have read the license and # understand and accept it fully. """Docwriter site config tests. This module tests the validity of the `yml` configuration generated by `siteconfig.py`. """ import os import yaml import siteconfig import utils config = siteconfig.SiteConfig() # Config vars site_name = "Foo Bar Test" site_description = "Test documentation for Foo Bar." site_author = "Pytest" toc_filename = "foo-toc.md" index_filename = "foo-index.md" # Add chapters and pagess c1_sec = ["c1s1", "c1s2", "c1s3"] c2_sec = ["c2s1", "c2s2"] pages = {} pages['chap1'] = c1_sec pages['chap2'] = c2_sec def test_config( tmpdir, caplog ): utils.output_dir = str( tmpdir ) # Set site config config.set_site_info( site_name, site_description, site_author ) # Add toc and index config.add_single_page( "TOC", toc_filename ) config.add_single_page( "Index", index_filename ) # Add chapters and pages for chap, parts in pages.items(): config.start_chapter( chap ) for sec in parts: config.add_chapter_page( sec, sec + ".md" ) config.end_chapter() # Done, Build config config.build_config() # Open file and parse yml filepath = os.path.join( str( tmpdir ), 'mkdocs.yml' ) result = open( filepath, 'rb' ).read() data = yaml.safe_load(result) # Assertions assert data is not None for record in caplog.records: # Strict build - there should be no warnings assert record.levelname != 'WARNING'