Parent: [d63c6c] (diff)

Download this file

test_wiki2markdown_pages.py    48 lines (37 with data), 1.5 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import os
from ming.orm.ormsession import ThreadLocalORMSession
from alluratest.controller import setup_basic_test, setup_global_objects
from forgewiki.command import wiki2markdown
from forgewiki import model as WM
from allura import model as M
test_config = 'test.ini#main'
def setUp(self):
"""Method called by nose before running each test"""
setup_basic_test()
setup_global_objects()
def test_wiki2markdown_pages():
output_dir = u'/tmp/wiki2markdown'
for p in WM.Page.query.find().all():
p.text = "'''bold''' ''italics''"
for p in M.Post.query.find().all():
p.text = "'''bold''' ''italics''"
ThreadLocalORMSession.flush_all()
ThreadLocalORMSession.close_all()
cmd = wiki2markdown.Wiki2MarkDownCommand('wiki2markdown')
cmd.run([test_config, '--extract-only', '--output-dir', output_dir, 'pages'])
cmd.command()
projects = M.Project.query.find().all()
for p in projects:
wiki_app = p.app_instance('wiki')
if wiki_app is None:
continue
pid = "%s" % p._id
file_path = os.path.join(output_dir, pid, "pages.json")
assert os.path.isfile(file_path)
cmd = wiki2markdown.Wiki2MarkDownCommand('wiki2markdown')
cmd.run([test_config, '--load-only', '--output-dir', '/tmp/wiki2markdown', 'pages'])
cmd.command()
for p in WM.Page.query.find().all():
assert "**bold** _italics_" in p.text
for p in M.Post.query.find().all():
assert "**bold** _italics_" in p.text