annotate test/test_demo.py @ 7854:171ff2e487df

Add @group for grouping in rest interface. Helpful for using optgroup in select boxes.
author John Rouillard <rouilj@ieee.org>
date Mon, 01 Apr 2024 14:42:36 -0400
parents 5b1163dca9e1
children 5b47966bf6f0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7583
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
1 import pytest
6324
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
2 import unittest
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
3 import os, sys, shutil
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
4
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
5 from roundup.demo import install_demo, run_demo
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
6
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
7 import roundup.scripts.roundup_server
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
8
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
9 # https://stackoverflow.com/questions/4219717/how-to-assert-output-with-nosetest-unittest-in-python
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
10 # lightly modified
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
11 from contextlib import contextmanager
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
12 _py3 = sys.version_info[0] > 2
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
13 if _py3:
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
14 from io import StringIO # py3
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
15 else:
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
16 from StringIO import StringIO # py2
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
17 @contextmanager
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
18 def captured_output():
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
19 new_out, new_err = StringIO(), StringIO()
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
20 old_out, old_err = sys.stdout, sys.stderr
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
21 try:
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
22 sys.stdout, sys.stderr = new_out, new_err
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
23 yield sys.stdout, sys.stderr
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
24 finally:
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
25 sys.stdout, sys.stderr = old_out, old_err
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
26
7583
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
27 try:
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
28 import jinja2
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
29 skip_jinja2 = lambda func, *args, **kwargs: func
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
30 except ImportError:
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
31 from .pytest_patcher import mark_class
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
32 skip_jinja2 = mark_class(pytest.mark.skip(
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
33 reason='Skipping Jinja2 tests: jinja2 library not available'))
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
34
6324
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
35 class TestDemo(unittest.TestCase):
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
36 def setUp(self):
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
37 self.home = os.path.abspath('_test_demo')
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
38
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
39 def tearDown(self):
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
40 try:
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
41 shutil.rmtree(self.home)
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
42 except FileNotFoundError:
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
43 pass
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
44
6719
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
45 def run_install_demo(self, template, db="anydbm"):
6324
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
46 with captured_output() as (out, err):
6719
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
47 install_demo(self.home, db, template)
6324
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
48 output = out.getvalue().strip()
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
49 print(output)
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
50
6719
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
51 # verify that db was set properly by reading config
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
52 with open(self.home + "/config.ini", "r") as f:
7585
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
53 config_lines = f.read().replace("\r\n", "\n")
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
54
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
55 try:
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
56 # handle text files with \r\n line endings
7586
859c57bc8d91 test: limit search for \r to first 100 bytes.
John Rouillard <rouilj@ieee.org>
parents: 7585
diff changeset
57 config_lines.index("\r", 0, 100)
7585
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
58 config_lines = config_lines.replace("\r\n", "\n")
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
59 except ValueError:
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
60 pass
6719
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
61
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
62 self.assertIn("backend = %s\n"%db, config_lines)
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
63
6324
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
64 # dummy up the return of get_server so the serve_forever method
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
65 # raises keyboard interrupt exiting the server so the test exits.
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
66 gs = roundup.scripts.roundup_server.ServerConfig.get_server
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
67 def raise_KeyboardInterrupt():
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
68 raise KeyboardInterrupt
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
69
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
70 def test_get_server(self):
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
71 httpd = gs(self)
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
72 httpd.serve_forever = raise_KeyboardInterrupt
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
73 return httpd
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
74
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
75 roundup.scripts.roundup_server.ServerConfig.get_server = test_get_server
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
76
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
77 # Run under context manager to capture output of startup text.
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
78 with captured_output() as (out, err):
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
79 run_demo(self.home)
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
80 output = out.getvalue().strip()
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
81 print(output)
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
82 # if the server installed and started this will be the
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
83 # last line in the output.
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
84 self.assertIn("Keyboard Interrupt: exiting", output.split('\n'))
3e33b22a3158 BAsic test of demo and server intialization.
John Rouillard <rouilj@ieee.org>
parents:
diff changeset
85
6719
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
86 def testDemoClassic(self):
7704
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
87 with captured_output() as (out, err):
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
88 self.run_install_demo("classic")
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
89 self.assertIn("http://localhost:8917/demo/", out.getvalue())
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
90
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
91 # verify the default anydbm db is created
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
92 db_file = self.home + "/db/nodes.user"
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
93 self.assertTrue(os.path.isfile(db_file),
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
94 "expected db file %s does not exist" % db_file)
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
95
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
96 # verify requested template was used
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
97 with open(self.home + "/TEMPLATE-INFO.txt", "r") as f:
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
98 info_lines = f.read()
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
99
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
100 try:
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
101 # handle text files with \r\n line endings
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
102 info_lines.index("\r", 0, 100)
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
103 info_lines = info_lines.replace("\r\n", "\n")
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
104 except ValueError:
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
105 pass
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
106
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
107 self.assertIn("Name: classic-_test_demo\n", info_lines)
6545
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
108
6719
77eb1a41fc06 test cleanup. Make test method and convert tests to use.
John Rouillard <rouilj@ieee.org>
parents: 6545
diff changeset
109 def testDemoMinimal(self):
7704
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
110 # test explicit path to template as others test template
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
111 # search path.
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
112 with captured_output() as (out, err):
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
113 self.run_install_demo('../templates/minimal', db="sqlite")
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
114 self.assertIn("http://localhost:8917/demo/", out.getvalue())
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
115
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
116 # verify the requested sqlite db file is created
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
117 db_file = self.home + "/db/db"
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
118 self.assertTrue(os.path.isfile(db_file),
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
119 "expected db file %s does not exist" % db_file)
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
120
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
121 # verify requested template was used
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
122 with open(self.home + "/TEMPLATE-INFO.txt", "r") as f:
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
123 info_lines = f.read()
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
124
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
125 try:
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
126 # handle text files with \r\n line endings
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
127 info_lines.index("\r", 0, 100)
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
128 info_lines = info_lines.replace("\r\n", "\n")
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
129 except ValueError:
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
130 pass
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
131
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
132 self.assertIn("Name: minimal-_test_demo\n", info_lines)
6545
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
133
7583
4cfaddc2d53e test: do not run jinja2 demo test if jinja2 missing.
John Rouillard <rouilj@ieee.org>
parents: 6719
diff changeset
134 @skip_jinja2
6545
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
135 def testDemoJinja(self):
7704
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
136 with captured_output() as (out, err):
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
137 self.run_install_demo('jinja2', db="anydbm")
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
138 self.assertIn("http://localhost:8917/demo/", out.getvalue())
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
139
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
140 # verify the requested anydbm db file is created
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
141 db_file = self.home + "/db/nodes.user"
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
142 self.assertTrue(os.path.isfile(db_file),
5b1163dca9e1 test: actually test output from running demo server code
John Rouillard <rouilj@ieee.org>
parents: 7586
diff changeset
143 "expected db file %s does not exist" % db_file)
6545
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
144
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
145 # verify that template was set to jinja2 by reading config
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
146 with open(self.home + "/config.ini", "r") as f:
7585
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
147 config_lines = f.read()
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
148
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
149 try:
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
150 # handle text files with \r\n line endings
7586
859c57bc8d91 test: limit search for \r to first 100 bytes.
John Rouillard <rouilj@ieee.org>
parents: 7585
diff changeset
151 config_lines.index("\r", 0, 100)
7585
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
152 config_lines = config_lines.replace("\r\n", "\n")
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
153 except ValueError:
227aca44fea5 test: fix failure under cygwin python caused by line endings
John Rouillard <rouilj@ieee.org>
parents: 7583
diff changeset
154 pass
6545
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
155
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
156 self.assertIn("template_engine = jinja2\n", config_lines)
5a3a386aa8e7 issue2551179 Load config_ini.ini ... recognize minimal template demo.py
John Rouillard <rouilj@ieee.org>
parents: 6324
diff changeset
157

Roundup Issue Tracker: http://roundup-tracker.org/