Gitub actions (#53)

* push action

Initial scratch pad

* #26 requirements.txt added

* #26 unit test failures fixes

* #26 install theme in action

python3 compatible test

* #26 test failure fixes based on new pelican

* #26 python3 test fixes
This commit is contained in:
Arul 2019-09-02 22:27:15 +05:30 committed by GitHub
parent a31ff4e2c9
commit b7c3285563
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 78 additions and 10 deletions

View file

@ -115,6 +115,18 @@ COLOR_SCHEME_CSS = 'github.css'
CSS_OVERRIDE = ['assets/css/myblog.css']
# Jinja config - Pelican 4
JINJA_ENVIRONMENT = {
'extensions' :[
'jinja2.ext.loopcontrols',
'jinja2.ext.i18n',
'jinja2.ext.with_',
'jinja2.ext.do'
]
}
JINJA_FILTERS = {'max': max}
# AUTHORS_BIO = {
# "arul": {
# "name": "Arul",

3
tests/requirements.txt Normal file
View file

@ -0,0 +1,3 @@
pelican
BeautifulSoup4
pytest

View file

@ -246,10 +246,15 @@ class BaseTest(object):
def gen_article_and_html_from_rst(self, rstPath):
content, metadata = self.reader.read(rstPath)
article = Article(content=content, metadata=metadata)
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
f = lambda a: True if (a.slug == article.slug) else False
result = filter(f, generator.context["articles"])[0]
result = list(filter(f, generator.context["articles"]))[0]
self.writer.write_file(
result.save_as, generator.get_template('article'),
generator.context, article=result)
@ -259,10 +264,15 @@ class BaseTest(object):
def gen_page_and_html_from_rst(self, rstPath):
content, metadata = self.reader.read(rstPath)
page = Page(content=content, metadata=metadata)
generator = PagesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = PagesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
f = lambda a: True if (a.slug == page.slug) else False
result = filter(f, generator.context["pages"])[0]
result = list(filter(f, generator.context["pages"]))[0]
self.writer.write_file(
result.save_as, generator.get_template('page'),
generator.context, page=result)
@ -270,7 +280,12 @@ class BaseTest(object):
return (result, soup)
def gen_tag_and_html_from_name(self, name):
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
generator.generate_tags(self.writer.write_file)
selectedTag = None
@ -283,7 +298,12 @@ class BaseTest(object):
return (selectedTag, soup)
def gen_category_and_html_from_name(self, name):
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
generator.generate_categories(self.writer.write_file)
selectedCategory = None
@ -296,7 +316,12 @@ class BaseTest(object):
return (selectedCategory, soup)
def gen_author_and_html_from_name(self, name):
generator = ArticlesGenerator( context=self.settings.copy(), settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
context = self.settings.copy()
context['generated_content'] = {}
context['static_links'] = set()
context['static_content'] = {}
context['localsiteurl'] = self.settings['SITEURL']
generator = ArticlesGenerator( context=context, settings=self.settings, path=CONTENT_DIR, theme=self.settings['THEME'], output_path=OUTPUT_DIR)
generator.generate_context()
generator.generate_authors(self.writer.write_file)
selectedAuthor = None

View file

@ -10,7 +10,7 @@ def tearDownModule():
print("teardown module")
try:
rmtree(OUTPUT_DIR)
except OSError, e:
except OSError as e:
print ("Error: %s - %s." % (e.filename,e.strerror))
class AuthorSocialLinksTest(unittest.TestCase, BaseTest):

View file

@ -13,7 +13,7 @@ def tearDownModule():
print("teardown module")
try:
rmtree(OUTPUT_DIR)
except OSError, e:
except OSError as e:
print ("Error: %s - %s." % (e.filename,e.strerror))
class ArticleCoverImageTest(unittest.TestCase, BaseTest):
@ -59,7 +59,7 @@ class ArticleCoverImageTest(unittest.TestCase, BaseTest):
def test_article_theme_cover(self):
rstPath="content/article_without_cover.rst"
result, soup = self.gen_article_and_html_from_rst(rstPath)
selected = soup.find(id="blog-header")
selected = soup.find(id="post-header")
# Assertion
self.assertTrue("class" not in selected)