Skip to content

Commit

Permalink
Gitub actions (#53)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
arulrajnet authored Sep 2, 2019
1 parent a31ff4e commit b7c3285
Show file tree
Hide file tree
Showing 6 changed files with 78 additions and 10 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Python package

on: [push]

jobs:
build:

runs-on: ubuntu-18.04
strategy:
max-parallel: 4
matrix:
python-version: [2.7, 3.5, 3.6, 3.7]

steps:
- uses: actions/checkout@v1
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tests/requirements.txt
pelican-themes -i ../attila
- name: Test with pytest
run: |
cd tests
pytest
12 changes: 12 additions & 0 deletions tests/default_conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,18 @@

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",
Expand Down
3 changes: 3 additions & 0 deletions tests/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
pelican
BeautifulSoup4
pytest
39 changes: 32 additions & 7 deletions tests/support.py
Original file line number Diff line number Diff line change
Expand Up @@ -246,10 +246,15 @@ def initSettings(self):
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)
Expand All @@ -259,18 +264,28 @@ def gen_article_and_html_from_rst(self, rstPath):
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)
soup = BeautifulSoup(open("./"+self.writer.output_path+'/'+result.save_as), "html.parser")
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
Expand All @@ -283,7 +298,12 @@ def gen_tag_and_html_from_name(self, name):
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
Expand All @@ -296,7 +316,12 @@ def gen_category_and_html_from_name(self, name):
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
Expand Down
2 changes: 1 addition & 1 deletion tests/test_author_bio.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
4 changes: 2 additions & 2 deletions tests/test_coverimages.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down Expand Up @@ -59,7 +59,7 @@ def test_article_header_http_cover(self):
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)

Expand Down

0 comments on commit b7c3285

Please sign in to comment.