Mercurial > p > roundup > code
annotate test/test_config.py @ 6363:08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
Added more tests for configuration.py. This is the last of the easy to
do tests for the module.
While doing that figured out how to get the proper arguments to
generate OptionValueError if indexer_language is invalid. Changed
implementation to generate same and updated test.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 30 Mar 2021 18:03:37 -0400 |
| parents | 2d42a308927b |
| children | 8a7de159d1a6 |
| rev | line source |
|---|---|
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 # |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 # This module is free software, and you may redistribute it and/or modify |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 # under the same terms as Python, so long as this copyright message and |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 # disclaimer are retained in their original form. |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 # |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 # POSSIBILITY OF SUCH DAMAGE. |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 # |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 import unittest |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 import logging |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
20 import fileinput |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
22 import os, shutil, errno |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
23 |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 import pytest |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 from roundup import configuration |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 config = configuration.CoreConfig() |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 config.DATABASE = "db" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 config.RDBMS_NAME = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 config.RDBMS_HOST = "localhost" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
31 config.RDBMS_USER = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 config.RDBMS_PASSWORD = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 config.RDBMS_TEMPLATE = "template0" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 # these TRACKER_WEB and MAIL_DOMAIN values are used in mailgw tests |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
35 config.MAIL_DOMAIN = "your.tracker.email.domain.example" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 config.TRACKER_WEB = "http://tracker.example/cgi-bin/roundup.cgi/bugs/" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 # uncomment the following to have excessive debug output from test cases |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
38 # FIXME: tracker logging level should be increased by -v arguments |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 # to 'run_tests.py' script |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 #config.LOGGING_FILENAME = "/tmp/logfile" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 #config.LOGGING_LEVEL = "DEBUG" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
42 config.init_logging() |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
43 config.options['FOO'] = "value" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
44 |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
45 # for TrackerConfig test class |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
46 from roundup import instance |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
47 from . import db_test_base |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
48 |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
49 class ConfigTest(unittest.TestCase): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
50 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
51 def test_badConfigKeyword(self): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
52 """Run configure tests looking for invalid option name |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
53 """ |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
54 self.assertRaises(configuration.InvalidOptionError, config._get_option, "BadOptionName") |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
55 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
56 def test_validConfigKeyword(self): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
57 """Run configure tests looking for invalid option name |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
58 """ |
|
5794
95a366d46065
Replace deprecated assertEquals with assertEqual and failUnlessRaises
John Rouillard <rouilj@ieee.org>
parents:
5774
diff
changeset
|
59 self.assertEqual(config._get_option("FOO"), "value") |
|
5770
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
60 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
61 def testTrackerWeb(self): |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
62 config = configuration.CoreConfig() |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
63 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
64 self.assertEqual(None, |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
65 config._get_option('TRACKER_WEB').set("http://foo.example/bar/")) |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
66 self.assertEqual(None, |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
67 config._get_option('TRACKER_WEB').set("https://foo.example/bar/")) |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
68 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
69 self.assertRaises(configuration.OptionValueError, |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
70 config._get_option('TRACKER_WEB').set, "https://foo.example/bar") |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
71 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
72 self.assertRaises(configuration.OptionValueError, |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
73 config._get_option('TRACKER_WEB').set, "htt://foo.example/bar/") |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
74 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
75 self.assertRaises(configuration.OptionValueError, |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
76 config._get_option('TRACKER_WEB').set, "htt://foo.example/bar") |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
77 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
78 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
79 config._get_option('TRACKER_WEB').set, "") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
80 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
81 def testLoginAttemptsMin(self): |
|
5772
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
82 config = configuration.CoreConfig() |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
83 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
84 self.assertEqual(None, |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
85 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set("0")) |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
86 self.assertEqual(None, |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
87 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set("200")) |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
88 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
89 self.assertRaises(configuration.OptionValueError, |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
90 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "fred") |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
91 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
92 self.assertRaises(configuration.OptionValueError, |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
93 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "-1") |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
94 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
95 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
96 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
97 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
98 def testTimeZone(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
99 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
100 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
101 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
102 config._get_option('TIMEZONE').set("0")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
103 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
104 # not a valid timezone |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
105 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
106 config._get_option('TIMEZONE').set, "Zot") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
107 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
108 # 25 is not a valid UTC offset: -12 - +14 is range |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
109 # possibly +/- 1 for DST. But roundup.date doesn't |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
110 # constrain to this range. |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
111 #self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
112 # config._get_option('TIMEZONE').set, "25") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
113 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
114 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
115 import pytz |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
116 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
117 config._get_option('TIMEZONE').set("UTC")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
118 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
119 config._get_option('TIMEZONE').set("America/New_York")) |
|
6296
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
120 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
121 config._get_option('TIMEZONE').set("EST")) |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
122 self.assertRaises(configuration.OptionValueError, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
123 config._get_option('TIMEZONE').set, "Zool/Zot") |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
124 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
125 except ImportError: |
|
6296
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
126 # UTC is a known offset of 0 coded into roundup.date |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
127 # so it works even without pytz. |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
128 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
129 config._get_option('TIMEZONE').set("UTC")) |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
130 # same with EST known timeone offset of 5 |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
131 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
132 config._get_option('TIMEZONE').set("EST")) |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
133 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
134 config._get_option('TIMEZONE').set, "America/New_York") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
135 |
|
6296
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
136 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
137 def testWebSecretKey(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
138 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
139 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
140 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
141 config._get_option('WEB_SECRET_KEY').set("skskskd")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
142 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
143 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
144 config._get_option('WEB_SECRET_KEY').set, "") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
145 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
146 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
147 def testStaticFiles(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
148 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
149 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
150 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
151 config._get_option('STATIC_FILES').set("foo /tmp/bar")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
152 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
153 self.assertEqual(config.STATIC_FILES, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
154 ["./foo", "/tmp/bar"]) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
155 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
156 self.assertEqual(config['STATIC_FILES'], |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
157 ["./foo", "/tmp/bar"]) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
158 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
159 def testIsolationLevel(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
160 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
161 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
162 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
163 config._get_option('RDBMS_ISOLATION_LEVEL').set("read uncommitted")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
164 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
165 config._get_option('RDBMS_ISOLATION_LEVEL').set("read committed")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
166 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
167 config._get_option('RDBMS_ISOLATION_LEVEL').set("repeatable read")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
168 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
169 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
170 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
171 config._get_option('RDBMS_ISOLATION_LEVEL').set, "not a level") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
172 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
173 def testConfigSave(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
174 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
175 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
176 # make scratch directory to create files in |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
177 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
178 self.startdir = os.getcwd() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
179 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
180 self.dirname = os.getcwd() + '_test_config' |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
181 os.mkdir(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
182 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
183 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
184 os.chdir(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
185 self.assertFalse(os.access("config.ini", os.F_OK)) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
186 self.assertFalse(os.access("config.bak", os.F_OK)) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
187 config.save() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
188 config.save() # creates .bak file |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
189 self.assertTrue(os.access("config.ini", os.F_OK)) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
190 self.assertTrue(os.access("config.bak", os.F_OK)) |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
191 config.save() # trigger delete of old .bak file |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
192 # FIXME: this should test to see if a new .bak |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
193 # was created. For now verify .bak still exists |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
194 self.assertTrue(os.access("config.bak", os.F_OK)) |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
195 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
196 self.assertFalse(os.access("foo.bar", os.F_OK)) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
197 self.assertFalse(os.access("foo.bak", os.F_OK)) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
198 config.save("foo.bar") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
199 config.save("foo.bar") # creates .bak file |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
200 self.assertTrue(os.access("foo.bar", os.F_OK)) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
201 self.assertTrue(os.access("foo.bak", os.F_OK)) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
202 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
203 finally: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
204 # cleanup scratch directory and files |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
205 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
206 os.chdir(self.startdir) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
207 shutil.rmtree(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
208 except OSError as error: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
209 if error.errno not in (errno.ENOENT, errno.ESRCH): raise |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
210 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
211 def testFloatAndInt_with_update_option(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
212 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
213 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
214 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
215 # Update existing IntegerNumberGeqZeroOption to IntegerNumberOption |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
216 config.update_option('WEB_LOGIN_ATTEMPTS_MIN', |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
217 configuration.IntegerNumberOption, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
218 "0", description="new desc") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
219 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
220 # -1 is allowed now that it is an int. |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
221 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
222 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set("-1")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
223 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
224 # but can't float this |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
225 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
226 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "2.4") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
227 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
228 # but fred is still an issue |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
229 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
230 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "fred") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
231 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
232 # Update existing IntegerNumberOption to FloatNumberOption |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
233 config.update_option('WEB_LOGIN_ATTEMPTS_MIN', |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
234 configuration.FloatNumberOption, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
235 "0.0") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
236 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
237 self.assertEqual(config['WEB_LOGIN_ATTEMPTS_MIN'], -1) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
238 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
239 # can float this |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
240 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
241 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set("3.1415926")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
242 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
243 # but fred is still an issue |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
244 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
245 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "fred") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
246 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
247 self.assertAlmostEqual(config['WEB_LOGIN_ATTEMPTS_MIN'], 3.1415926, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
248 places=6) |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
249 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
250 # test removal of .0 on floats that are integers |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
251 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
252 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set("3.0")) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
253 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
254 self.assertEqual("3", |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
255 config._get_option('WEB_LOGIN_ATTEMPTS_MIN')._value2str(3.00)) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
256 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
257 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
258 def testOptionAsString(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
259 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
260 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
261 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
262 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set("2552") |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
263 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
264 v = config._get_option('WEB_LOGIN_ATTEMPTS_MIN').__str__() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
265 print(v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
266 self.assertIn("55", v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
267 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
268 v = config._get_option('WEB_LOGIN_ATTEMPTS_MIN').__repr__() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
269 print(v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
270 self.assertIn("55", v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
271 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
272 def testBooleanOption(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
273 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
274 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
275 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
276 with self.assertRaises(configuration.OptionValueError) as cm: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
277 config._get_option('INSTANT_REGISTRATION').set("3") |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
278 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
279 # test multiple boolean representations |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
280 for b in [ "yes", "1", "true", "TRUE", "tRue", "on", |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
281 "oN", 1, True ]: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
282 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
283 config._get_option('INSTANT_REGISTRATION').set(b)) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
284 self.assertEqual(1, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
285 config._get_option('INSTANT_REGISTRATION').get()) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
286 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
287 for b in ["no", "0", "false", "FALSE", "fAlse", "off", |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
288 "oFf", 0, False]: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
289 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
290 config._get_option('INSTANT_REGISTRATION').set(b)) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
291 self.assertEqual(0, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
292 config._get_option('INSTANT_REGISTRATION').get()) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
293 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
294 def testOctalNumberOption(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
295 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
296 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
297 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
298 with self.assertRaises(configuration.OptionValueError) as cm: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
299 config._get_option('UMASK').set("xyzzy") |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
300 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
301 print(type(config._get_option('UMASK'))) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
302 |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
303 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
304 class TrackerConfig(unittest.TestCase): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
305 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
306 backend = 'anydbm' |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
307 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
308 def setUp(self): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
309 self.dirname = '_test_instance' |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
310 # set up and open a tracker |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
311 self.instance = db_test_base.setupTracker(self.dirname, self.backend) |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
312 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
313 # open the database |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
314 self.db = self.instance.open('admin') |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
315 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
316 self.db.commit() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
317 self.db.close() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
318 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
319 def tearDown(self): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
320 if self.db: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
321 self.db.close() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
322 try: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
323 shutil.rmtree(self.dirname) |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
324 except OSError as error: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
325 if error.errno not in (errno.ENOENT, errno.ESRCH): raise |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
326 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
327 def munge_configini(self, mods = None): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
328 """ modify config.ini to meet testing requirements |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
329 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
330 mods is a list of tuples: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
331 [ ( "a = ", "b" ), ("c = ", None) ] |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
332 Match line with first tuple element e.g. "a = ". Note specify |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
333 trailing "=" and space to delimit keyword and properly format |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
334 replacement line. If first tuple element matches, the line is |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
335 replaced with the concatenation of the first and second elements. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
336 If second element is None ("" doesn't work), the line will be |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
337 deleted. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
338 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
339 Note the key/first element of tuple must be unique in config.ini. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
340 It is possible to have duplicates in different sections. This |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
341 method doesn't handle that. TBD option third element of tuple |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
342 defining section if needed. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
343 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
344 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
345 if mods is None: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
346 return |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
347 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
348 for line in fileinput.input(os.path.join(self.dirname, "config.ini"), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
349 inplace=True): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
350 for match, value in mods: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
351 if line.startswith(match): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
352 if value is not None: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
353 print(match + value) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
354 break |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
355 else: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
356 print(line[:-1]) # remove trailing \n |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
357 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
358 def testNoDBInConfig(self): |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
359 """Arguably this should be tested in test_instance since it is |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
360 triggered by instance.open. But it raises an error in the |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
361 configuration module with a missing required param in |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
362 config.ini. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
363 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
364 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
365 # remove the backend key in config.ini |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
366 self.munge_configini(mods=[ ("backend = ", None) ]) |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
367 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
368 # this should fail as backend isn't defined. |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
369 with self.assertRaises(configuration.OptionUnsetError) as cm: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
370 instance.open(self.dirname) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
371 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
372 self.assertEqual("RDBMS_BACKEND is not set" |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
373 " and has no default", cm.exception.__str__()) |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
374 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
375 def testInvalidIndexerLanguage_w_empty(self): |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
376 """ make sure we have a reasonable error message if |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
377 invalid indexer language is specified. This uses |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
378 default search path for indexers. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
379 """ |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
380 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
381 # SETUP: set indexer_language value to an invalid value. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
382 self.munge_configini(mods=[ ("indexer = ", ""), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
383 ("indexer_language = ", "NO_LANG") ]) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
384 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
385 config = configuration.CoreConfig() |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
386 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
387 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
388 config.load(self.dirname) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
389 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
390 print(cm.exception) |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
391 # test repr. The type is right since it passed assertRaises. |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
392 self.assertIn("OptionValueError", repr(cm.exception)) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
393 # look for failing language |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
394 self.assertIn("NO_LANG", cm.exception.args[1]) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
395 # look for supported language |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
396 self.assertIn("english", cm.exception.args[2]) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
397 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
398 def testInvalidIndexerLanguage_xapian_missing(self): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
399 """Using default path for indexers, make import of xapian |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
400 fail and prevent exception from happening even though |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
401 the indexer_language would be invalid for xapian. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
402 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
403 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
404 print("Testing xapian not loadable") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
405 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
406 # SETUP: same as testInvalidIndexerLanguage_w_empty |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
407 self.munge_configini(mods=[ ("indexer = ", ""), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
408 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
409 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
410 import sys |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
411 # Set module to Non to prevent xapian from loading |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
412 sys.modules['xapian'] = None |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
413 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
414 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
415 # need to delete both to make python2 not error finding _xapian |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
416 del(sys.modules['xapian']) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
417 del(sys.modules['xapian._xapian']) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
418 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
419 self.assertEqual(config['INDEXER_LANGUAGE'], 'NO_LANG') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
420 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
421 # do a reset here to test reset rather than wasting cycles |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
422 # to do setup in a different test |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
423 config.reset() |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
424 self.assertEqual(config['INDEXER_LANGUAGE'], 'english') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
425 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
426 def testInvalidIndexerLanguage_w_native(self): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
427 """indexer_language is invalid but indexer is not "" or xapian |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
428 Config load should succeed without exception. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
429 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
430 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
431 print("Testing indexer = native") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
432 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
433 self.munge_configini(mods = [ ("indexer = ", "native"), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
434 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
435 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
436 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
437 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
438 self.assertEqual(config['HTML_VERSION'], 'html4') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
439 self.assertEqual(config['INDEXER_LANGUAGE'], 'NO_LANG') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
440 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
441 def testInvalidIndexerLanguage_w_xapian(self): |
| 6358 | 442 """ Use explicit xapian indexer. Verify exception is |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
443 generated. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
444 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
445 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
446 print("Testing explicit xapian") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
447 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
448 self.munge_configini(mods=[ ("indexer = ", "xapian"), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
449 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
450 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
451 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
452 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
453 # don't test exception content. Done in |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
454 # testInvalidIndexerLanguage_w_empty |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
455 # if exception not generated assertRaises |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
456 # will generate failure. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
457 |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
458 def testLoadConfig(self): |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
459 """ run load to validate config """ |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
460 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
461 config = configuration.CoreConfig() |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
462 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
463 config.load(self.dirname) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
464 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
465 # test various ways of accessing config data |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
466 with self.assertRaises(configuration.InvalidOptionError) as cm: |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
467 # using lower case name fails |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
468 c = config['indexer_language'] |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
469 print(cm.exception) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
470 self.assertIn("indexer_language", repr(cm.exception)) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
471 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
472 # uppercase name passes as does tuple index for setting in main |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
473 self.assertEqual(config['HTML_VERSION'], 'html4') |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
474 self.assertEqual(config[('main', 'html_version')], 'html4') |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
475 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
476 # uppercase name passes as does tuple index for setting in web |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
477 self.assertEqual(config['WEB_COOKIE_TAKES_PRECEDENCE'], 0) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
478 self.assertEqual(config[('web','cookie_takes_precedence')], 0) |
| 6358 | 479 |
| 480 | |
|
6359
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
481 def testLoadConfigNoConfig(self): |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
482 """ run load on a directory missing config.ini """ |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
483 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
484 c = os.path.join(self.dirname, configuration.Config.INI_FILE) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
485 if os.path.exists(c): |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
486 os.remove(c) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
487 else: |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
488 self.assertFalse("setup failed missing config.ini") |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
489 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
490 config = configuration.CoreConfig() |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
491 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
492 with self.assertRaises(configuration.NoConfigError) as cm: |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
493 config.load(self.dirname) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
494 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
495 print(cm.exception) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
496 self.assertEqual(cm.exception.args[0], self.dirname) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
497 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
498 def testCopyConfig(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
499 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
500 self.munge_configini(mods=[ ("html_version = ", "xhtml") ]) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
501 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
502 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
503 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
504 # verify config is initalized to defaults |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
505 self.assertEqual(config['HTML_VERSION'], 'html4') |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
506 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
507 # load config |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
508 config.load(self.dirname) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
509 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
510 # loaded new option |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
511 self.assertEqual(config['HTML_VERSION'], 'xhtml') |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
512 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
513 # copy config |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
514 config_copy = config.copy() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
515 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
516 # this should work |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
517 self.assertEqual(config_copy['HTML_VERSION'], 'xhtml') |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
518 |
| 6358 | 519 def testInvalidIndexerValue(self): |
| 520 """ Mistype native indexer. Verify exception is | |
| 521 generated. | |
| 522 """ | |
| 523 | |
| 524 print("Testing indexer nati") | |
| 525 | |
| 526 self.munge_configini(mods=[ ("indexer = ", "nati") ]) | |
| 527 | |
| 528 with self.assertRaises(configuration.OptionValueError) as cm: | |
| 529 config.load(self.dirname) | |
| 530 | |
| 531 self.assertIn("OptionValueError", repr(cm.exception)) | |
| 532 # look for failing value | |
| 533 self.assertEqual("nati", cm.exception.args[1]) | |
| 534 # look for supported values | |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
535 self.assertIn("'whoosh'", cm.exception.args[2]) |
| 6358 | 536 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
537 # verify that args show up in string representaton |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
538 string_rep = cm.exception.__str__() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
539 print(string_rep) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
540 self.assertIn("nati", string_rep) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
541 self.assertIn("'whoosh'", string_rep) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
542 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
543 |
