Mercurial > p > roundup > code
annotate test/test_config.py @ 6821:e0f0aed72097
Fix test if redis is not loaded
handle the KeyError from trying to remove redis from sys.modules if it
not loaded.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 07 Aug 2022 00:45:06 -0400 |
| parents | 3f60a71b0812 |
| children | 89a59e46b3af |
| 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 |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
22 import os, shutil, errno, sys |
|
5774
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 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
27 try: |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
28 import xapian |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
29 skip_xapian = lambda func, *args, **kwargs: func |
|
6368
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
30 from .pytest_patcher import mark_class |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
31 include_no_xapian = mark_class(pytest.mark.skip( |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
32 "Skipping missing Xapian indexer tests: 'xapian' is installed")) |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
33 except ImportError: |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
34 # FIX: workaround for a bug in pytest.mark.skip(): |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
35 # https://github.com/pytest-dev/pytest/issues/568 |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
36 from .pytest_patcher import mark_class |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
37 skip_xapian = mark_class(pytest.mark.skip( |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
38 "Skipping Xapian indexer tests: 'xapian' not installed")) |
|
6368
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
39 include_no_xapian = lambda func, *args, **kwargs: func |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
40 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
41 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
42 try: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
43 import redis |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
44 skip_redis = lambda func, *args, **kwargs: func |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
45 except ImportError: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
46 # FIX: workaround for a bug in pytest.mark.skip(): |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
47 # https://github.com/pytest-dev/pytest/issues/568 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
48 from .pytest_patcher import mark_class |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
49 skip_redis = mark_class(pytest.mark.skip( |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
50 "Skipping redis tests: 'redis' not installed")) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
51 |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
52 _py3 = sys.version_info[0] > 2 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
53 if _py3: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
54 skip_py2 = lambda func, *args, **kwargs: func |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
55 else: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
56 # FIX: workaround for a bug in pytest.mark.skip(): |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
57 # https://github.com/pytest-dev/pytest/issues/568 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
58 from .pytest_patcher import mark_class |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
59 skip_py2 = mark_class(pytest.mark.skip( |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
60 reason='Skipping test under python2.')) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
61 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
62 |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
63 config = configuration.CoreConfig() |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
64 config.DATABASE = "db" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
65 config.RDBMS_NAME = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
66 config.RDBMS_HOST = "localhost" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
67 config.RDBMS_USER = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
68 config.RDBMS_PASSWORD = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
69 config.RDBMS_TEMPLATE = "template0" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
70 # 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
|
71 config.MAIL_DOMAIN = "your.tracker.email.domain.example" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
72 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
|
73 # 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
|
74 # 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
|
75 # to 'run_tests.py' script |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
76 #config.LOGGING_FILENAME = "/tmp/logfile" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
77 #config.LOGGING_LEVEL = "DEBUG" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
78 config.init_logging() |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
79 config.options['FOO'] = "value" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
80 |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
81 # for TrackerConfig test class |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
82 from roundup import instance |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
83 from . import db_test_base |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
84 |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
85 class ConfigTest(unittest.TestCase): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
86 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
87 def test_badConfigKeyword(self): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
88 """Run configure tests looking for invalid option name |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
89 """ |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
90 self.assertRaises(configuration.InvalidOptionError, config._get_option, "BadOptionName") |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
91 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
92 def test_validConfigKeyword(self): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
93 """Run configure tests looking for invalid option name |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
94 """ |
|
5794
95a366d46065
Replace deprecated assertEquals with assertEqual and failUnlessRaises
John Rouillard <rouilj@ieee.org>
parents:
5774
diff
changeset
|
95 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
|
96 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
97 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
|
98 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
|
99 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
100 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
|
101 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
|
102 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
|
103 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
|
104 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
105 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
|
106 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
|
107 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
108 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
|
109 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
|
110 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
111 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
|
112 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
|
113 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
114 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
115 config._get_option('TRACKER_WEB').set, "") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
116 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
117 def testRedis_Url(self): |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
118 config = configuration.CoreConfig() |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
119 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
120 with self.assertRaises(configuration.OptionValueError) as cm: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
121 config._get_option('SESSIONDB_REDIS_URL').set( |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
122 "redis://foo.example/bar?decode_responses=False") |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
123 self.assertIn('decode_responses', cm.exception.__str__()) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
124 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
125 config._get_option('SESSIONDB_REDIS_URL').set( |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
126 "redis://localhost:6379/0?health_check_interval=2") |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
127 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
128 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
|
129 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
|
130 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
131 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
|
132 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
|
133 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
|
134 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
|
135 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
136 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
|
137 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
|
138 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
139 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
|
140 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
|
141 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
142 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
143 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
|
144 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
145 def testTimeZone(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
146 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
147 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
148 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
149 config._get_option('TIMEZONE').set("0")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
150 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
151 # not a valid timezone |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
152 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
153 config._get_option('TIMEZONE').set, "Zot") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
154 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
155 # 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
|
156 # 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
|
157 # constrain to this range. |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
158 #self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
159 # config._get_option('TIMEZONE').set, "25") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
160 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
161 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
162 import pytz |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
163 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
164 config._get_option('TIMEZONE').set("UTC")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
165 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
166 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
|
167 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
168 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
|
169 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
|
170 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
|
171 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
172 except ImportError: |
|
6296
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
173 # 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
|
174 # 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
|
175 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
176 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
|
177 # 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
|
178 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
179 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
|
180 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
181 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
|
182 |
|
6296
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
183 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
184 def testWebSecretKey(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
185 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
186 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
187 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
188 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
|
189 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
190 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
191 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
|
192 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
193 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
194 def testStaticFiles(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
195 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
196 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
197 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
198 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
|
199 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
200 self.assertEqual(config.STATIC_FILES, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
201 ["./foo", "/tmp/bar"]) |
|
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 self.assertEqual(config['STATIC_FILES'], |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
204 ["./foo", "/tmp/bar"]) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
205 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
206 def testIsolationLevel(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
207 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
208 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
209 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
210 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
|
211 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
212 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
|
213 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
214 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
|
215 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
216 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
217 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
218 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
|
219 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
220 def testConfigSave(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
221 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
222 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
223 # 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
|
224 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
225 self.startdir = os.getcwd() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
226 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
227 self.dirname = os.getcwd() + '_test_config' |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
228 os.mkdir(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
229 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
230 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
231 os.chdir(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
232 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
|
233 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
|
234 config.save() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
235 config.save() # creates .bak file |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
236 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
|
237 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
|
238 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
|
239 # 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
|
240 # 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
|
241 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
|
242 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
243 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
|
244 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
|
245 config.save("foo.bar") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
246 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
|
247 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
|
248 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
|
249 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
250 finally: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
251 # cleanup scratch directory and files |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
252 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
253 os.chdir(self.startdir) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
254 shutil.rmtree(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
255 except OSError as error: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
256 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
|
257 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
258 def testFloatAndInt_with_update_option(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
259 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
260 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
261 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
262 # Update existing IntegerNumberGeqZeroOption to IntegerNumberOption |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
263 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
|
264 configuration.IntegerNumberOption, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
265 "0", description="new desc") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
266 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
267 # -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
|
268 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
269 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
|
270 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
271 # but can't float this |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
272 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
273 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
|
274 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
275 # but fred is still an issue |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
276 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
277 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
|
278 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
279 # Update existing IntegerNumberOption to FloatNumberOption |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
280 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
|
281 configuration.FloatNumberOption, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
282 "0.0") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
283 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
284 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
|
285 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
286 # can float this |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
287 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
288 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
|
289 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
290 # but fred is still an issue |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
291 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
292 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
|
293 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
294 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
|
295 places=6) |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
296 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
297 # 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
|
298 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
299 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
|
300 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
301 self.assertEqual("3", |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
302 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
|
303 |
|
6681
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
304 def testOriginHeader(self): |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
305 config = configuration.CoreConfig() |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
306 |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
307 with self.assertRaises(configuration.OptionValueError) as cm: |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
308 config._get_option('WEB_ALLOWED_API_ORIGINS').set("* https://foo.edu") |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
309 |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
310 config._get_option('WEB_ALLOWED_API_ORIGINS').set("https://foo.edu HTTP://baR.edu") |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
311 |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
312 self.assertEqual(config['WEB_ALLOWED_API_ORIGINS'][0], 'https://foo.edu') |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
313 self.assertEqual(config['WEB_ALLOWED_API_ORIGINS'][1], 'HTTP://baR.edu') |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
314 |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
315 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
316 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
317 def testOptionAsString(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
318 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
319 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
320 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
321 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
|
322 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
323 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
|
324 print(v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
325 self.assertIn("55", v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
326 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
327 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
|
328 print(v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
329 self.assertIn("55", v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
330 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
331 def testBooleanOption(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
332 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
333 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
334 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
335 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
|
336 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
|
337 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
338 # test multiple boolean representations |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
339 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
|
340 "oN", 1, True ]: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
341 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
342 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
|
343 self.assertEqual(1, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
344 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
|
345 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
346 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
|
347 "oFf", 0, False]: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
348 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
349 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
|
350 self.assertEqual(0, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
351 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
|
352 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
353 def testOctalNumberOption(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
354 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
355 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
356 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
357 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
|
358 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
|
359 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
360 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
|
361 |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
362 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
363 class TrackerConfig(unittest.TestCase): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
364 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
365 backend = 'anydbm' |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
366 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
367 def setUp(self): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
368 self.dirname = '_test_instance' |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
369 # 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
|
370 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
|
371 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
372 # open the database |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
373 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
|
374 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
375 self.db.commit() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
376 self.db.close() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
377 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
378 def tearDown(self): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
379 if self.db: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
380 self.db.close() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
381 try: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
382 shutil.rmtree(self.dirname) |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
383 except OSError as error: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
384 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
|
385 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
386 def munge_configini(self, mods = None, section=None): |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
387 """ modify config.ini to meet testing requirements |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
388 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
389 mods is a list of tuples: |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
390 [ ( "a = ", "b" ), ("c = ", None), ("d = ", "b", "z = ") ] |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
391 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
|
392 trailing "=" and space to delimit keyword and properly format |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
393 replacement line. If there are two elements in the tuple, |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
394 and the first element matches, the line is |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
395 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
|
396 If second element is None ("" doesn't work), the line will be |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
397 deleted. If there are three elements in the tuple, the line |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
398 is replaced with the contcatentation of the third and second |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
399 elements (used to replace commented out parameters). |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
400 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
401 Note if the key/first element of tuple is not unique in |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
402 config.ini, you must set the section to match the bracketed |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
403 section name. |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
404 """ |
|
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 if mods is None: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
407 return |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
408 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
409 # if section is defined, the tests in the loop will turn |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
410 # it off on [main] if section != '[main]'. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
411 in_section = True |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
412 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
413 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
|
414 inplace=True): |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
415 if section: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
416 if line.startswith('['): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
417 in_section = False |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
418 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
419 if line.startswith(section): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
420 in_section = True |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
421 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
422 if in_section: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
423 for rule in mods: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
424 if len(rule) == 3: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
425 match, value, repl = rule |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
426 else: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
427 match, value = rule |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
428 repl = None |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
429 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
430 if line.startswith(match): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
431 if value is not None: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
432 if repl: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
433 print(repl + value) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
434 else: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
435 print(match + value) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
436 break |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
437 else: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
438 print(line[:-1]) # remove trailing \n |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
439 else: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
440 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
|
441 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
442 def testNoDBInConfig(self): |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
443 """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
|
444 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
|
445 configuration module with a missing required param in |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
446 config.ini. |
|
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 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
449 # remove the backend key in config.ini |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
450 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
|
451 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
452 # 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
|
453 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
|
454 instance.open(self.dirname) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
455 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
456 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
|
457 " 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
|
458 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
459 def testUnsetMailPassword_with_set_username(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
460 """ Set [mail] username but don't set the |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
461 [mail] password. Should get an OptionValueError. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
462 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
463 # SETUP: set mail username |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
464 self.munge_configini(mods=[ ("username = ", "foo"), ], |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
465 section="[mail]") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
466 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
467 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
468 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
469 with self.assertRaises(configuration.OptionValueError) as cm: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
470 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
471 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
472 print(cm.exception) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
473 # test repr. The type is right since it passed assertRaises. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
474 self.assertIn("OptionValueError", repr(cm.exception)) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
475 # look for 'not defined' |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
476 self.assertEqual("not defined", cm.exception.args[1]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
477 |
|
6584
770503bd211e
Validate SecretOption and support validate method
John Rouillard <rouilj@ieee.org>
parents:
6578
diff
changeset
|
478 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
479 def testUnsetMailPassword_with_unset_username(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
480 """ Set [mail] username but don't set the |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
481 [mail] password. Should get an OptionValueError. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
482 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
483 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
484 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
485 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
486 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
487 self.assertEqual(config['MAIL_USERNAME'], '') |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
488 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
489 with self.assertRaises(configuration.OptionUnsetError) as cm: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
490 self.assertEqual(config['MAIL_PASSWORD'], 'NO DEFAULT') |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
491 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
492 def testSecretMandatory_missing_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
493 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
494 # SETUP: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
495 self.munge_configini(mods=[ ("secret_key = ", "file://secret_key"), ]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
496 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
497 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
498 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
499 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6584
770503bd211e
Validate SecretOption and support validate method
John Rouillard <rouilj@ieee.org>
parents:
6578
diff
changeset
|
500 config.load(self.dirname) |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
501 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
502 print(cm.exception) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
503 self.assertEqual(cm.exception.args[0].setting, "secret_key") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
504 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
505 def testSecretMandatory_load_from_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
506 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
507 # SETUP: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
508 self.munge_configini(mods=[ ("secret_key = ", "file://secret_key"), ]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
509 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
510 secret = "ASDQWEZXCRFVBGTYHNMJU" |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
511 with open(self.dirname + "/secret_key", "w") as f: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
512 f.write(secret + "\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
513 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
514 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
515 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
516 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
517 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
518 self.assertEqual(config['WEB_SECRET_KEY'], secret) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
519 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
520 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
521 def testSecretMandatory_load_from_abs_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
522 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
523 abs_file = "/tmp/secret_key.%s"%os.getpid() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
524 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
525 # SETUP: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
526 self.munge_configini(mods=[ ("secret_key = ", "file://%s"%abs_file), ]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
527 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
528 secret = "ASDQWEZXCRFVBGTYHNMJU" |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
529 with open(abs_file, "w") as f: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
530 f.write(secret + "\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
531 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
532 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
533 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
534 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
535 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
536 self.assertEqual(config['WEB_SECRET_KEY'], secret) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
537 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
538 os.remove(abs_file) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
539 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
540 def testSecretMandatory_empty_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
541 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
542 self.munge_configini(mods=[ ("secret_key = ", "file:// secret_key"), ]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
543 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
544 # file with no value just newline. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
545 with open(self.dirname + "/secret_key", "w") as f: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
546 f.write("\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
547 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
548 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
549 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
550 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6584
770503bd211e
Validate SecretOption and support validate method
John Rouillard <rouilj@ieee.org>
parents:
6578
diff
changeset
|
551 config.load(self.dirname) |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
552 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
553 print(cm.exception.args) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
554 self.assertEqual(cm.exception.args[2],"Value must not be empty.") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
555 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
556 def testNullableSecret_empty_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
557 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
558 self.munge_configini(mods=[ ("password = ", "file://db_password"), ]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
559 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
560 # file with no value just newline. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
561 with open(self.dirname + "/db_password", "w") as f: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
562 f.write("\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
563 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
564 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
565 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
566 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
567 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
568 v = config['RDBMS_PASSWORD'] |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
569 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
570 self.assertEqual(v, None) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
571 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
572 def testNullableSecret_with_file_value(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
573 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
574 self.munge_configini(mods=[ ("password = ", "file://db_password"), ]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
575 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
576 # file with no value just newline. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
577 with open(self.dirname + "/db_password", "w") as f: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
578 f.write("test\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
579 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
580 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
581 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
582 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
583 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
584 v = config['RDBMS_PASSWORD'] |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
585 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
586 self.assertEqual(v, "test") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
587 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
588 def testNullableSecret_with_value(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
589 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
590 self.munge_configini(mods=[ ("password = ", "test"), ]) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
591 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
592 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
593 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
594 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
595 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
596 v = config['RDBMS_PASSWORD'] |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
597 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
598 self.assertEqual(v, "test") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
599 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
600 def testSetMailPassword_with_set_username(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
601 """ Set [mail] username and set the password. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
602 Should have both values set. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
603 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
604 # SETUP: set mail username |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
605 self.munge_configini(mods=[ ("username = ", "foo"), |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
606 ("#password = ", "passwordfoo", |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
607 "password = ") ], |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
608 section="[mail]") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
609 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
610 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
611 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
612 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
613 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
614 self.assertEqual(config['MAIL_USERNAME'], 'foo') |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
615 self.assertEqual(config['MAIL_PASSWORD'], 'passwordfoo') |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
616 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
617 def testSetMailPassword_from_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
618 """ Set [mail] username and set the password. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
619 Should have both values set. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
620 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
621 # SETUP: set mail username |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
622 self.munge_configini(mods=[ ("username = ", "foo"), |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
623 ("#password = ", "file://password", |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
624 "password = ") ], |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
625 section="[mail]") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
626 with open(self.dirname + "/password", "w") as f: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
627 f.write("passwordfoo\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
628 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
629 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
630 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
631 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
632 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
633 self.assertEqual(config['MAIL_USERNAME'], 'foo') |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
634 self.assertEqual(config['MAIL_PASSWORD'], 'passwordfoo') |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
635 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
636 @skip_xapian |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
637 def testInvalidIndexerLanguage_w_empty(self): |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
638 """ 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
|
639 invalid indexer language is specified. This uses |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
640 default search path for indexers. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
641 """ |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
642 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
643 # 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
|
644 self.munge_configini(mods=[ ("indexer = ", ""), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
645 ("indexer_language = ", "NO_LANG") ]) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
646 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
647 config = configuration.CoreConfig() |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
648 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
649 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
|
650 config.load(self.dirname) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
651 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
652 print(cm.exception) |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
653 # 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
|
654 self.assertIn("OptionValueError", repr(cm.exception)) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
655 # look for failing language |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
656 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
|
657 # look for supported language |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
658 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
|
659 |
|
6368
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
660 @include_no_xapian |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
661 def testInvalidIndexerLanguage_w_empty_no_xapian(self): |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
662 """ Test case for empty indexer if xapian really isn't installed |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
663 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
664 This should behave like testInvalidIndexerLanguage_xapian_missing |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
665 but without all the sys.modules mangling. |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
666 """ |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
667 print("Testing when xapian is not installed") |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
668 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
669 # SETUP: set indexer_language value to an invalid value. |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
670 self.munge_configini(mods=[ ("indexer = ", ""), |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
671 ("indexer_language = ", "NO_LANG") ]) |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
672 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
673 config = configuration.CoreConfig() |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
674 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
675 config.load(self.dirname) |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
676 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
677 self.assertEqual(config['INDEXER_LANGUAGE'], 'NO_LANG') |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
678 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
679 def testInvalidIndexerLanguage_xapian_missing(self): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
680 """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
|
681 fail and prevent exception from happening even though |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
682 the indexer_language would be invalid for xapian. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
683 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
684 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
685 print("Testing xapian not loadable") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
686 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
687 # SETUP: same as testInvalidIndexerLanguage_w_empty |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
688 self.munge_configini(mods=[ ("indexer = ", ""), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
689 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
690 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
691 import sys |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
692 # 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
|
693 sys.modules['xapian'] = None |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
694 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
695 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
696 # 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
|
697 del(sys.modules['xapian']) |
|
6371
5c1db5d4baed
Fix failing xapian test
Ralf Schlatterbeck <rsc@runtux.com>
parents:
6368
diff
changeset
|
698 if 'xapian._xapian' in sys.modules: |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
699 del(sys.modules['xapian._xapian']) |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
700 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
701 self.assertEqual(config['INDEXER_LANGUAGE'], 'NO_LANG') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
702 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
703 # 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
|
704 # to do setup in a different test |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
705 config.reset() |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
706 self.assertEqual(config['INDEXER_LANGUAGE'], 'english') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
707 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
708 def testInvalidIndexerLanguage_w_native(self): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
709 """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
|
710 Config load should succeed without exception. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
711 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
712 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
713 print("Testing indexer = native") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
714 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
715 self.munge_configini(mods = [ ("indexer = ", "native"), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
716 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
717 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
718 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
719 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
720 self.assertEqual(config['HTML_VERSION'], 'html4') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
721 self.assertEqual(config['INDEXER_LANGUAGE'], 'NO_LANG') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
722 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
723 @skip_xapian |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
724 def testInvalidIndexerLanguage_w_xapian(self): |
| 6358 | 725 """ Use explicit xapian indexer. Verify exception is |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
726 generated. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
727 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
728 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
729 print("Testing explicit xapian") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
730 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
731 self.munge_configini(mods=[ ("indexer = ", "xapian"), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
732 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
733 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
734 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
735 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
736 # don't test exception content. Done in |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
737 # testInvalidIndexerLanguage_w_empty |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
738 # if exception not generated assertRaises |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
739 # will generate failure. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
740 |
|
6604
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
741 def testInvalidIndexerLanguage_w_native_fts(self): |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
742 """ Use explicit native-fts indexer. Verify exception is |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
743 generated. |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
744 """ |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
745 |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
746 self.munge_configini(mods=[ ("indexer = ", "native-fts"), |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
747 ("indexer_language = ", "NO_LANG") ]) |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
748 |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
749 with self.assertRaises(configuration.OptionValueError) as cm: |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
750 config.load(self.dirname) |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
751 |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
752 # test repr. The type is right since it passed assertRaises. |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
753 self.assertIn("OptionValueError", repr(cm.exception)) |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
754 # look for failing language |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
755 self.assertIn("NO_LANG", cm.exception.args[1]) |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
756 # look for supported language |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
757 self.assertIn("basque", cm.exception.args[2]) |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
758 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
759 @skip_redis |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
760 def testLoadSessionDbRedis(self): |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
761 """ run load to validate config """ |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
762 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
763 config = configuration.CoreConfig() |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
764 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
765 # compatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
766 config.RDBMS_BACKEND = "sqlite" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
767 config.SESSIONDB_BACKEND = "redis" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
768 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
769 config.validator(config.options) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
770 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
771 # compatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
772 config.RDBMS_BACKEND = "anydbm" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
773 config.SESSIONDB_BACKEND = "redis" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
774 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
775 config.validator(config.options) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
776 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
777 # incompatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
778 config.RDBMS_BACKEND = "postgresql" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
779 config.SESSIONDB_BACKEND = "redis" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
780 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
781 with self.assertRaises(configuration.OptionValueError) as cm: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
782 config.validator(config.options) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
783 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
784 self.assertIn(" db type: redis with postgresql", |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
785 cm.exception.__str__()) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
786 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
787 def testLoadSessionDb(self): |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
788 """ run load to validate config """ |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
789 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
790 config = configuration.CoreConfig() |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
791 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
792 # incompatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
793 config.RDBMS_BACKEND = "sqlite" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
794 config.SESSIONDB_BACKEND = "foo" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
795 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
796 with self.assertRaises(configuration.OptionValueError) as cm: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
797 config.validator(config.options) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
798 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
799 self.assertIn(" db type: foo with sqlite", |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
800 cm.exception.__str__()) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
801 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
802 # compatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
803 config.RDBMS_BACKEND = "sqlite" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
804 config.SESSIONDB_BACKEND = "" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
805 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
806 config.validator(config.options) # any exception will fail test |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
807 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
808 config.RDBMS_BACKEND = "sqlite" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
809 config.SESSIONDB_BACKEND = "anydbm" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
810 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
811 config.validator(config.options) # any exception will fail test |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
812 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
813 config.RDBMS_BACKEND = "anydbm" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
814 config.SESSIONDB_BACKEND = "redis" |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
815 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
816 # make it looks like redis is not available |
|
6821
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
817 try: |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
818 del(sys.modules['redis']) |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
819 except KeyError: |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
820 # redis is not available anyway. |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
821 pass |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
822 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
823 sys.modules['redis'] = None |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
824 with self.assertRaises(configuration.OptionValueError) as cm: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
825 config.validator(config.options) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
826 del(sys.modules['redis']) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
827 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
828 self.assertIn("Unable to load redis module", |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
829 cm.exception.__str__()) |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
830 |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
831 def testLoadConfig(self): |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
832 """ run load to validate config """ |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
833 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
834 config = configuration.CoreConfig() |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
835 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
836 config.load(self.dirname) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
837 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
838 # 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
|
839 with self.assertRaises(configuration.InvalidOptionError) as cm: |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
840 # using lower case name fails |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
841 c = config['indexer_language'] |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
842 print(cm.exception) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
843 self.assertIn("indexer_language", repr(cm.exception)) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
844 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
845 # 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
|
846 self.assertEqual(config['HTML_VERSION'], 'html4') |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
847 self.assertEqual(config[('main', 'html_version')], 'html4') |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
848 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
849 # 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
|
850 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
|
851 self.assertEqual(config[('web','cookie_takes_precedence')], 0) |
| 6358 | 852 |
| 853 | |
|
6359
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
854 def testLoadConfigNoConfig(self): |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
855 """ 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
|
856 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
857 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
|
858 if os.path.exists(c): |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
859 os.remove(c) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
860 else: |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
861 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
|
862 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
863 config = configuration.CoreConfig() |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
864 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
865 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
|
866 config.load(self.dirname) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
867 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
868 print(cm.exception) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
869 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
|
870 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
871 def testCopyConfig(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
872 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
873 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
|
874 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
875 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
876 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
877 # 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
|
878 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
|
879 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
880 # load config |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
881 config.load(self.dirname) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
882 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
883 # loaded new option |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
884 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
|
885 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
886 # copy config |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
887 config_copy = config.copy() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
888 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
889 # this should work |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
890 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
|
891 |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
892 @skip_py2 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
893 def testConfigValueInterpolateError(self): |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
894 ''' error is not raised using ConfigParser under Python 2. |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
895 Unknown cause, so skip it if running python 2. |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
896 ''' |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
897 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
898 self.munge_configini(mods=[ ("admin_email = ", "a bare % is invalid") ]) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
899 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
900 config = configuration.CoreConfig() |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
901 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
902 # load config generates: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
903 ''' |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
904 E roundup.configuration.ParsingOptionError: Error in _test_instance/config.ini with section [main] at option admin_email: '%' must be followed by '%' or '(', found: '% is invalid' |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
905 ''' |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
906 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
907 with self.assertRaises(configuration.ParsingOptionError) as cm: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
908 config.load(self.dirname) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
909 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
910 print(cm.exception) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
911 self.assertIn("'%' must be followed by '%' or '(', found: '% is invalid'", cm.exception.args[0]) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
912 self.assertIn("_test_instance/config.ini with section [main] at option admin_email", cm.exception.args[0]) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
913 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
914 |
|
6560
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
915 from roundup.admin import AdminTool |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
916 from .test_admin import captured_output |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
917 |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
918 admin=AdminTool() |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
919 with captured_output() as (out, err): |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
920 sys.argv=['main', '-i', self.dirname, 'get', 'tile', 'issue1'] |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
921 ret = admin.main() |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
922 |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
923 expected_err = "Error in _test_instance/config.ini with section [main] at option admin_email: '%' must be followed by '%' or '(', found: '% is invalid'" |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
924 |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
925 self.assertEqual(ret, 1) |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
926 out = out.getvalue().strip() |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
927 self.assertEqual(out, expected_err) |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
928 |
| 6358 | 929 def testInvalidIndexerValue(self): |
| 930 """ Mistype native indexer. Verify exception is | |
| 931 generated. | |
| 932 """ | |
| 933 | |
| 934 print("Testing indexer nati") | |
| 935 | |
| 936 self.munge_configini(mods=[ ("indexer = ", "nati") ]) | |
| 937 | |
| 938 with self.assertRaises(configuration.OptionValueError) as cm: | |
| 939 config.load(self.dirname) | |
| 940 | |
| 941 self.assertIn("OptionValueError", repr(cm.exception)) | |
| 942 # look for failing value | |
| 943 self.assertEqual("nati", cm.exception.args[1]) | |
| 944 # look for supported values | |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
945 self.assertIn("'whoosh'", cm.exception.args[2]) |
| 6358 | 946 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
947 # 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
|
948 string_rep = cm.exception.__str__() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
949 print(string_rep) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
950 self.assertIn("nati", string_rep) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
951 self.assertIn("'whoosh'", string_rep) |
