Mercurial > p > roundup > code
annotate test/test_config.py @ 8526:0586f25eb25e
ruff: exclusions on imports
ignore import locations and import used for side effect
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Fri, 20 Feb 2026 16:30:50 -0500 |
| parents | f7fadbac5856 |
| children |
| 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 |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
18 import configparser |
|
7900
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
19 import errno |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
20 import fileinput |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 import logging |
|
7900
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
22 import os |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
23 import pytest |
|
8424
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
24 import re |
|
7900
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
25 import shutil |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
26 import sys |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
27 import unittest |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
28 |
|
7913
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
29 from os.path import normpath |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
30 from textwrap import dedent |
|
7913
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
31 |
|
7900
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
32 from roundup import configuration |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
33 from roundup.backends import get_backend, have_backend |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
34 from roundup.hyperdb import DatabaseError |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
35 |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
36 from .db_test_base import config |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 |
|
7900
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
38 if not have_backend('postgresql'): |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
39 # FIX: workaround for a bug in pytest.mark.skip(): |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
40 # https://github.com/pytest-dev/pytest/issues/568 |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
41 from .pytest_patcher import mark_class |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
42 skip_postgresql = mark_class(pytest.mark.skip( |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
43 reason='Skipping PostgreSQL tests: backend not available')) |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
44 else: |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
45 try: |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
46 from roundup.backends.back_postgresql import psycopg2, db_command,\ |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
47 get_database_schema_names |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
48 db_command(config, 'select 1') |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
49 skip_postgresql = lambda func, *args, **kwargs: func |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
50 except( DatabaseError ) as msg: |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
51 from .pytest_patcher import mark_class |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
52 skip_postgresql = mark_class(pytest.mark.skip( |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
53 reason='Skipping PostgreSQL tests: database not available')) |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
54 |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
55 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
56 try: |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
57 import xapian |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
58 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
|
59 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
|
60 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
|
61 "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
|
62 except ImportError: |
|
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
63 # 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
|
64 # 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
|
65 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
|
66 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
|
67 "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
|
68 include_no_xapian = lambda func, *args, **kwargs: func |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
69 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
70 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
71 try: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
72 import redis |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
73 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
|
74 except ImportError: |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
75 # 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
|
76 # 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
|
77 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
|
78 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
|
79 "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
|
80 |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
81 _py3 = sys.version_info[0] > 2 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
82 if _py3: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
83 skip_py2 = lambda func, *args, **kwargs: func |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
84 else: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
85 # FIX: workaround for a bug in pytest.mark.skip(): |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
86 # https://github.com/pytest-dev/pytest/issues/568 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
87 from .pytest_patcher import mark_class |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
88 skip_py2 = mark_class(pytest.mark.skip( |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
89 reason='Skipping test under python2.')) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
90 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
91 |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
92 config = configuration.CoreConfig() |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
93 config.DATABASE = "db" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
94 config.RDBMS_NAME = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
95 config.RDBMS_HOST = "localhost" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
96 config.RDBMS_USER = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
97 config.RDBMS_PASSWORD = "rounduptest" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
98 config.RDBMS_TEMPLATE = "template0" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
99 # 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
|
100 config.MAIL_DOMAIN = "your.tracker.email.domain.example" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
101 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
|
102 # 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
|
103 # 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
|
104 # to 'run_tests.py' script |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
105 #config.LOGGING_FILENAME = "/tmp/logfile" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
106 #config.LOGGING_LEVEL = "DEBUG" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
107 config.init_logging() |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
108 config.options['FOO'] = "value" |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
109 |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
110 # for TrackerConfig test class |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
111 from roundup import instance |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
112 from . import db_test_base |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
113 |
|
5126
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
114 class ConfigTest(unittest.TestCase): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
115 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
116 def test_badConfigKeyword(self): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
117 """Run configure tests looking for invalid option name |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
118 """ |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
119 self.assertRaises(configuration.InvalidOptionError, config._get_option, "BadOptionName") |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
120 |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
121 def test_validConfigKeyword(self): |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
122 """Run configure tests looking for invalid option name |
|
dd642afb4440
starter tests for roundup/configuration.py
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
123 """ |
|
5794
95a366d46065
Replace deprecated assertEquals with assertEqual and failUnlessRaises
John Rouillard <rouilj@ieee.org>
parents:
5774
diff
changeset
|
124 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
|
125 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
126 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
|
127 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
|
128 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
129 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
|
130 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
|
131 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
|
132 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
|
133 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
134 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
|
135 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
|
136 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
137 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
|
138 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
|
139 |
|
f91da208f26b
Validate that TRACKER_WEB url starts with https:// or http:// and ends
John Rouillard <rouilj@ieee.org>
parents:
5126
diff
changeset
|
140 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
|
141 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
|
142 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
143 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
144 config._get_option('TRACKER_WEB').set, "") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
145 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
146 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
|
147 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
|
148 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
149 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
|
150 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
|
151 "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
|
152 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
|
153 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
154 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
|
155 "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
|
156 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
157 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
|
158 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
|
159 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
160 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
|
161 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
|
162 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
|
163 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
|
164 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
165 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
|
166 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
|
167 |
|
8dbe307bdb57
Finish up login rate limit code. Set config item to 0 disables, make
John Rouillard <rouilj@ieee.org>
parents:
5770
diff
changeset
|
168 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
|
169 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
|
170 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
171 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
172 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
|
173 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
174 def testTimeZone(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
175 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
176 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
177 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
178 config._get_option('TIMEZONE').set("0")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
179 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
180 # not a valid timezone |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
181 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
182 config._get_option('TIMEZONE').set, "Zot") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
183 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
184 # 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
|
185 # 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
|
186 # constrain to this range. |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
187 #self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
188 # config._get_option('TIMEZONE').set, "25") |
|
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 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
191 import pytz |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
192 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
193 config._get_option('TIMEZONE').set("UTC")) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
194 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
195 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
|
196 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
197 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
|
198 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
|
199 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
|
200 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
201 except ImportError: |
|
6296
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
202 # 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
|
203 # 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
|
204 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
205 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
|
206 # 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
|
207 self.assertEqual(None, |
|
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
208 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
|
209 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
210 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
|
211 |
|
6296
6cf9f2f49b89
Fix UTC timezone test case if pytz not available; add tests
John Rouillard <rouilj@ieee.org>
parents:
5794
diff
changeset
|
212 |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
213 def testWebSecretKey(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
214 config = configuration.CoreConfig() |
|
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 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
217 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
|
218 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
219 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
220 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
|
221 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
222 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
223 def testStaticFiles(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
224 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
225 |
|
7913
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
226 |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
227 if ("/tmp/bar" == normpath("/tmp/bar/")): |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
228 result_list = ["./foo", "/tmp/bar"] |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
229 else: |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
230 result_list = [".\\foo", "\\tmp\\bar"] |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
231 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
232 config._get_option('STATIC_FILES').set("foo /tmp/bar")) |
|
7913
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
233 print(config.STATIC_FILES) |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
234 self.assertEqual(config.STATIC_FILES, result_list) |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
235 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
236 def testIsolationLevel(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
237 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
238 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
239 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
240 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
|
241 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
242 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
|
243 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
244 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
|
245 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
246 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
247 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
248 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
|
249 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
250 def testConfigSave(self): |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
251 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
252 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
253 # 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
|
254 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
255 self.startdir = os.getcwd() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
256 |
|
7584
a5629f6e7ec2
test: fix mising / in directory spec.
John Rouillard <rouilj@ieee.org>
parents:
7556
diff
changeset
|
257 self.dirname = os.getcwd() + '/_test_config' |
|
5774
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
258 os.mkdir(self.dirname) |
|
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 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
261 os.chdir(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
262 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
|
263 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
|
264 config.save() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
265 config.save() # creates .bak file |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
266 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
|
267 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
|
268 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
|
269 # 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
|
270 # 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
|
271 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
|
272 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
273 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
|
274 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
|
275 config.save("foo.bar") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
276 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
|
277 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
|
278 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
|
279 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
280 finally: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
281 # cleanup scratch directory and files |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
282 try: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
283 os.chdir(self.startdir) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
284 shutil.rmtree(self.dirname) |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
285 except OSError as error: |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
286 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
|
287 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
288 def testFloatAndInt_with_update_option(self): |
|
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 config = configuration.CoreConfig() |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
291 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
292 # Update existing IntegerNumberGeqZeroOption to IntegerNumberOption |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
293 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
|
294 configuration.IntegerNumberOption, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
295 "0", description="new desc") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
296 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
297 # -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
|
298 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
299 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
|
300 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
301 # but can't float this |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
302 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
303 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
|
304 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
305 # but fred is still an issue |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
306 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
307 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
|
308 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
309 # Update existing IntegerNumberOption to FloatNumberOption |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
310 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
|
311 configuration.FloatNumberOption, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
312 "0.0") |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
313 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
314 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
|
315 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
316 # can float this |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
317 self.assertEqual(None, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
318 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
|
319 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
320 # but fred is still an issue |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
321 self.assertRaises(configuration.OptionValueError, |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
322 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
|
323 |
|
765f8c0e99ef
Sanity checking improvements. All IntegerNumberOption really have to
John Rouillard <rouilj@ieee.org>
parents:
5772
diff
changeset
|
324 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
|
325 places=6) |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
326 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
327 # 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
|
328 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
329 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
|
330 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
331 self.assertEqual("3", |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
332 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
|
333 |
|
7556
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
334 def testIntegerNumberGtZeroOption(self): |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
335 |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
336 config = configuration.CoreConfig() |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
337 |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
338 # Update existing IntegerNumberGeqZeroOption to IntegerNumberOption |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
339 config.update_option('WEB_LOGIN_ATTEMPTS_MIN', |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
340 configuration.IntegerNumberGtZeroOption, |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
341 "1", description="new desc") |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
342 |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
343 self.assertEqual(None, |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
344 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set("1")) |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
345 |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
346 # -1 is not allowed |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
347 self.assertRaises(configuration.OptionValueError, |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
348 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "-1") |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
349 |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
350 # but can't float this |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
351 self.assertRaises(configuration.OptionValueError, |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
352 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "2.4") |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
353 |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
354 # but can't float this |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
355 self.assertRaises(configuration.OptionValueError, |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
356 config._get_option('WEB_LOGIN_ATTEMPTS_MIN').set, "0.5") |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
357 |
|
273c8c2b5042
fix(api): - issue2551063 - Rest/Xmlrpc interfaces needs failed login protection.
John Rouillard <rouilj@ieee.org>
parents:
7155
diff
changeset
|
358 |
|
6681
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
359 def testOriginHeader(self): |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
360 config = configuration.CoreConfig() |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
361 |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
362 with self.assertRaises(configuration.OptionValueError) as cm: |
|
7155
89a59e46b3af
improve REST interface security
John Rouillard <rouilj@ieee.org>
parents:
6821
diff
changeset
|
363 config._get_option('WEB_ALLOWED_API_ORIGINS').set("https://foo.edu *") |
|
89a59e46b3af
improve REST interface security
John Rouillard <rouilj@ieee.org>
parents:
6821
diff
changeset
|
364 |
|
89a59e46b3af
improve REST interface security
John Rouillard <rouilj@ieee.org>
parents:
6821
diff
changeset
|
365 config._get_option('WEB_ALLOWED_API_ORIGINS').set("* https://foo.edu HTTP://baR.edu") |
|
6681
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
366 |
|
7155
89a59e46b3af
improve REST interface security
John Rouillard <rouilj@ieee.org>
parents:
6821
diff
changeset
|
367 self.assertEqual(config['WEB_ALLOWED_API_ORIGINS'][0], '*') |
|
89a59e46b3af
improve REST interface security
John Rouillard <rouilj@ieee.org>
parents:
6821
diff
changeset
|
368 self.assertEqual(config['WEB_ALLOWED_API_ORIGINS'][1], 'https://foo.edu') |
|
89a59e46b3af
improve REST interface security
John Rouillard <rouilj@ieee.org>
parents:
6821
diff
changeset
|
369 self.assertEqual(config['WEB_ALLOWED_API_ORIGINS'][2], 'HTTP://baR.edu') |
|
6681
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
370 |
|
ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
John Rouillard <rouilj@ieee.org>
parents:
6604
diff
changeset
|
371 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
372 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
373 def testOptionAsString(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
374 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
375 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
376 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
377 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
|
378 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
379 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
|
380 print(v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
381 self.assertIn("55", v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
382 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
383 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
|
384 print(v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
385 self.assertIn("55", v) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
386 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
387 def testBooleanOption(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
388 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
389 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
390 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
391 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
|
392 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
|
393 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
394 # test multiple boolean representations |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
395 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
|
396 "oN", 1, True ]: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
397 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
398 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
|
399 self.assertEqual(1, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
400 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
|
401 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
402 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
|
403 "oFf", 0, False]: |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
404 self.assertEqual(None, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
405 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
|
406 self.assertEqual(0, |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
407 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
|
408 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
409 def testOctalNumberOption(self): |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
410 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
411 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
412 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
413 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
|
414 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
|
415 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
416 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
|
417 |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
418 |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
419 @pytest.mark.usefixtures("save_restore_logging") |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
420 class TrackerConfig(unittest.TestCase): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
421 |
|
8446
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
422 @pytest.fixture(autouse=True) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
423 def inject_fixtures(self, caplog): |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
424 self._caplog = caplog |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
425 |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
426 @pytest.fixture(autouse=True) |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
427 def save_restore_logging(self): |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
428 """Save logger state and try to restore it after each test |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
429 has finished. |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
430 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
431 The primary test is testDictLoggerConfigViaJson which |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
432 can change the loggers and break tests that depend on caplog |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
433 """ |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
434 # Save logger state for root and roundup top level logger |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
435 loggernames = ("", "roundup") |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
436 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
437 # The state attributes to save. Lists are shallow copied |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
438 state_to_save = ("filters", "handlers", "level", "propagate") |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
439 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
440 logger_state = {} |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
441 for name in loggernames: |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
442 logger_state[name] = {} |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
443 roundup_logger = logging.getLogger(name) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
444 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
445 for i in state_to_save: |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
446 attr = getattr(roundup_logger, i) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
447 if isinstance(attr, list): |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
448 logger_state[name][i] = attr.copy() |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
449 else: |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
450 logger_state[name][i] = getattr(roundup_logger, i) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
451 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
452 # run all class tests here |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
453 yield |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
454 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
455 # rip down all the loggers leaving the root logger reporting |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
456 # to stdout. |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
457 # otherwise logger config is leaking to other tests |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
458 roundup_loggers = [logging.getLogger(name) for name in |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
459 logging.root.manager.loggerDict |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
460 if name.startswith("roundup")] |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
461 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
462 # cribbed from configuration.py:init_loggers |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
463 hdlr = logging.StreamHandler(sys.stdout) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
464 formatter = logging.Formatter( |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
465 '%(asctime)s %(trace_id)s %(levelname)s %(message)s') |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
466 hdlr.setFormatter(formatter) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
467 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
468 for logger in roundup_loggers: |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
469 # no logging API to remove all existing handlers!?! |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
470 for h in logger.handlers: |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
471 h.close() |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
472 logger.removeHandler(h) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
473 logger.handlers = [hdlr] |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
474 logger.setLevel("WARNING") |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
475 logger.propagate = True # important as caplog requires this |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
476 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
477 # Restore the info we stored before running tests |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
478 for name in loggernames: |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
479 local_logger = logging.getLogger(name) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
480 for attr in logger_state[name]: |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
481 setattr(local_logger, attr, logger_state[name][attr]) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
482 |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
483 # reset logging as well |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
484 from importlib import reload |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
485 logging.shutdown() |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
486 reload(logging) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
487 |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
488 def reset_logging(self): |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
489 """https://til.tafkas.net/posts/-resetting-python-logging-before-running-tests/""" |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
490 loggers = [logging.getLogger(name) for name in logging.root.manager.loggerDict] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
491 loggers.append(logging.getLogger()) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
492 for logger in loggers: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
493 handlers = logger.handlers[:] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
494 for handler in handlers: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
495 logger.removeHandler(handler) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
496 handler.close() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
497 logger.setLevel(logging.NOTSET) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
498 logger.propagate = True |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
499 |
|
6331
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
500 backend = 'anydbm' |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
501 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
502 def setUp(self): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
503 self.dirname = '_test_instance' |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
504 # 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
|
505 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
|
506 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
507 # open the database |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
508 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
|
509 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
510 self.db.commit() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
511 self.db.close() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
512 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
513 def tearDown(self): |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
514 if self.db: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
515 self.db.close() |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
516 try: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
517 shutil.rmtree(self.dirname) |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
518 except OSError as error: |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
519 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
|
520 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
521 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
|
522 """ modify config.ini to meet testing requirements |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
523 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
524 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
|
525 [ ( "a = ", "b" ), ("c = ", None), ("d = ", "b", "z = ") ] |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
526 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
|
527 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
|
528 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
|
529 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
|
530 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
|
531 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
|
532 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
|
533 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
|
534 elements (used to replace commented out parameters). |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
535 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
536 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
|
537 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
|
538 section name. |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
539 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
540 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
541 if mods is None: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
542 return |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
543 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
544 # 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
|
545 # 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
|
546 in_section = True |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
547 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
548 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
|
549 inplace=True): |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
550 if section: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
551 if line.startswith('['): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
552 in_section = False |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
553 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
554 if line.startswith(section): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
555 in_section = True |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
556 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
557 if in_section: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
558 for rule in mods: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
559 if len(rule) == 3: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
560 match, value, repl = rule |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
561 else: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
562 match, value = rule |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
563 repl = None |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
564 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
565 if line.startswith(match): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
566 if value is not None: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
567 if repl: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
568 print(repl + value) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
569 else: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
570 print(match + value) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
571 break |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
572 else: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
573 print(line[:-1]) # remove trailing \n |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
574 else: |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
575 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
|
576 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
577 def testNoDBInConfig(self): |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
578 """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
|
579 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
|
580 configuration module with a missing required param in |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
581 config.ini. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
582 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
583 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
584 # remove the backend key in config.ini |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
585 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
|
586 |
|
c547e05d7a54
Test case where backend is missing from config.ini.
John Rouillard <rouilj@ieee.org>
parents:
6296
diff
changeset
|
587 # 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
|
588 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
|
589 instance.open(self.dirname) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
590 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
591 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
|
592 " 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
|
593 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
594 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
|
595 """ 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
|
596 [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
|
597 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
598 # SETUP: set mail username |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
599 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
|
600 section="[mail]") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
601 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
602 config = configuration.CoreConfig() |
|
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 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
|
605 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
606 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
607 print(cm.exception) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
608 # 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
|
609 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
|
610 # look for 'not defined' |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
611 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
|
612 |
|
6584
770503bd211e
Validate SecretOption and support validate method
John Rouillard <rouilj@ieee.org>
parents:
6578
diff
changeset
|
613 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
614 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
|
615 """ 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
|
616 [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
|
617 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
618 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
619 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
620 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
621 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
622 self.assertEqual(config['MAIL_USERNAME'], '') |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
623 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
624 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
|
625 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
|
626 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
627 def testSecretMandatory_missing_file(self): |
|
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 # SETUP: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
630 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
|
631 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
632 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
633 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
634 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6584
770503bd211e
Validate SecretOption and support validate method
John Rouillard <rouilj@ieee.org>
parents:
6578
diff
changeset
|
635 config.load(self.dirname) |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
636 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
637 print(cm.exception) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
638 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
|
639 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
640 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
|
641 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
642 # SETUP: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
643 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
|
644 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
645 secret = "ASDQWEZXCRFVBGTYHNMJU" |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
646 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
|
647 f.write(secret + "\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
648 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
649 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
650 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
651 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
652 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
653 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
|
654 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
655 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
656 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
|
657 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
658 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
|
659 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
660 # SETUP: |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
661 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
|
662 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
663 secret = "ASDQWEZXCRFVBGTYHNMJU" |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
664 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
|
665 f.write(secret + "\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
666 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
667 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
668 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
669 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
670 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
671 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
|
672 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
673 os.remove(abs_file) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
674 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
675 def testSecretMandatory_empty_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
676 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
677 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
|
678 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
679 # 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
|
680 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
|
681 f.write("\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
682 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
683 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
684 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
685 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6584
770503bd211e
Validate SecretOption and support validate method
John Rouillard <rouilj@ieee.org>
parents:
6578
diff
changeset
|
686 config.load(self.dirname) |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
687 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
688 print(cm.exception.args) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
689 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
|
690 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
691 def testNullableSecret_empty_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
692 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
693 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
|
694 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
695 # 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
|
696 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
|
697 f.write("\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
698 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
699 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
700 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
701 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
702 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
703 v = config['RDBMS_PASSWORD'] |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
704 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
705 self.assertEqual(v, None) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
706 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
707 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
|
708 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
709 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
|
710 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
711 # 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
|
712 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
|
713 f.write("test\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
714 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
715 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
716 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
717 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
718 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
719 v = config['RDBMS_PASSWORD'] |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
720 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
721 self.assertEqual(v, "test") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
722 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
723 def testNullableSecret_with_value(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
724 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
725 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
|
726 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
727 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
728 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
729 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
730 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
731 v = config['RDBMS_PASSWORD'] |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
732 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
733 self.assertEqual(v, "test") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
734 |
|
7809
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
735 def testListSecret_for_jwt_invalid_secret(self): |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
736 """A jwt_secret is made of ',' separated strings. |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
737 If the first string is < 32 characters (like the default |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
738 value of disabled) then jwt is disabled and no harm done. |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
739 If any other secrets are <32 characters we raise a red flag |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
740 on startup to prevent them from being used. |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
741 """ |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
742 self.munge_configini(mods=[ ("jwt_secret = ", "disable, test"), ]) |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
743 |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
744 config = configuration.CoreConfig() |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
745 |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
746 with self.assertRaises(configuration.OptionValueError) as cm: |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
747 config.load(self.dirname) |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
748 |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
749 print(cm.exception.args) |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
750 self.assertEqual( |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
751 cm.exception.args[2], |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
752 "One or more secrets less then 32 characters in length\nfound: test") |
|
be6cb2e0d471
feat: add support for rotating jwt keys
John Rouillard <rouilj@ieee.org>
parents:
7584
diff
changeset
|
753 |
|
6578
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
754 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
|
755 """ 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
|
756 Should have both values set. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
757 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
758 # SETUP: set mail username |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
759 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
|
760 ("#password = ", "passwordfoo", |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
761 "password = ") ], |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
762 section="[mail]") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
763 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
764 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
765 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
766 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
767 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
768 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
|
769 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
|
770 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
771 def testSetMailPassword_from_file(self): |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
772 """ 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
|
773 Should have both values set. |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
774 """ |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
775 # SETUP: set mail username |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
776 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
|
777 ("#password = ", "file://password", |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
778 "password = ") ], |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
779 section="[mail]") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
780 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
|
781 f.write("passwordfoo\n") |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
782 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
783 config = configuration.CoreConfig() |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
784 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
785 config.load(self.dirname) |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
786 |
|
b1f1539c6a31
issue2551182 - ... allow loading values from external file. flake8 cleanups
John Rouillard <rouilj@ieee.org>
parents:
6560
diff
changeset
|
787 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
|
788 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
|
789 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
790 @skip_xapian |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
791 def testInvalidIndexerLanguage_w_empty(self): |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
792 """ 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
|
793 invalid indexer language is specified. This uses |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
794 default search path for indexers. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
795 """ |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
796 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
797 # 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
|
798 self.munge_configini(mods=[ ("indexer = ", ""), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
799 ("indexer_language = ", "NO_LANG") ]) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
800 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
801 config = configuration.CoreConfig() |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
802 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
803 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
|
804 config.load(self.dirname) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
805 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
806 print(cm.exception) |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
807 # 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
|
808 self.assertIn("OptionValueError", repr(cm.exception)) |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
809 # look for failing language |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
810 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
|
811 # look for supported language |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
812 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
|
813 |
|
6368
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
814 @include_no_xapian |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
815 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
|
816 """ 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
|
817 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
818 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
|
819 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
|
820 """ |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
821 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
|
822 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
823 # 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
|
824 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
|
825 ("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
|
826 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
827 config = configuration.CoreConfig() |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
828 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
829 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
|
830 |
|
e3ed3ad9e795
issue2551125 Add indexer_lang test that runs if xapian not installed
John Rouillard <rouilj@ieee.org>
parents:
6367
diff
changeset
|
831 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
|
832 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
833 def testInvalidIndexerLanguage_xapian_missing(self): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
834 """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
|
835 fail and prevent exception from happening even though |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
836 the indexer_language would be invalid for xapian. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
837 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
838 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
839 print("Testing xapian not loadable") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
840 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
841 # SETUP: same as testInvalidIndexerLanguage_w_empty |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
842 self.munge_configini(mods=[ ("indexer = ", ""), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
843 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
844 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
845 import sys |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
846 # 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
|
847 sys.modules['xapian'] = None |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
848 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
849 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
850 # 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
|
851 del(sys.modules['xapian']) |
|
6371
5c1db5d4baed
Fix failing xapian test
Ralf Schlatterbeck <rsc@runtux.com>
parents:
6368
diff
changeset
|
852 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
|
853 del(sys.modules['xapian._xapian']) |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
854 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
855 self.assertEqual(config['INDEXER_LANGUAGE'], 'NO_LANG') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
856 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
857 # 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
|
858 # to do setup in a different test |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
859 config.reset() |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
860 self.assertEqual(config['INDEXER_LANGUAGE'], 'english') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
861 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
862 def testInvalidIndexerLanguage_w_native(self): |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
863 """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
|
864 Config load should succeed without exception. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
865 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
866 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
867 print("Testing indexer = native") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
868 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
869 self.munge_configini(mods = [ ("indexer = ", "native"), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
870 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
871 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
872 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
873 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
874 self.assertEqual(config['HTML_VERSION'], 'html4') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
875 self.assertEqual(config['INDEXER_LANGUAGE'], 'NO_LANG') |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
876 |
|
6367
8a7de159d1a6
issue2551125 Make indexer_lang test work if xapian not installed.
John Rouillard <rouilj@ieee.org>
parents:
6363
diff
changeset
|
877 @skip_xapian |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
878 def testInvalidIndexerLanguage_w_xapian(self): |
| 6358 | 879 """ Use explicit xapian indexer. Verify exception is |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
880 generated. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
881 """ |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
882 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
883 print("Testing explicit xapian") |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
884 |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
885 self.munge_configini(mods=[ ("indexer = ", "xapian"), |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
886 ("indexer_language = ", "NO_LANG") ]) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
887 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
888 with self.assertRaises(configuration.OptionValueError) as cm: |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
889 config.load(self.dirname) |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
890 # don't test exception content. Done in |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
891 # testInvalidIndexerLanguage_w_empty |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
892 # if exception not generated assertRaises |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
893 # will generate failure. |
|
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
894 |
|
6604
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
895 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
|
896 """ 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
|
897 generated. |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
898 """ |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
899 |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
900 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
|
901 ("indexer_language = ", "NO_LANG") ]) |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
902 |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
903 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
|
904 config.load(self.dirname) |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
905 |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
906 # 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
|
907 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
|
908 # look for failing language |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
909 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
|
910 # look for supported language |
|
0d99ae7c8de6
Allow Roundup to use PostgreSQL database native full text search
John Rouillard <rouilj@ieee.org>
parents:
6584
diff
changeset
|
911 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
|
912 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
913 @skip_redis |
|
7900
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
914 def testLoadSessionDbRedisCompatible(self): |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
915 """ 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
|
916 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
917 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
|
918 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
919 # compatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
920 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
|
921 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
|
922 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
923 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
|
924 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
925 # compatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
926 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
|
927 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
|
928 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
929 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
|
930 |
|
7900
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
931 @skip_redis |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
932 @skip_postgresql |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
933 def testLoadSessionDbRedisIncompatible(self): |
|
011941fcb598
test: skip test requiring postgresql backend if not present
John Rouillard <rouilj@ieee.org>
parents:
7809
diff
changeset
|
934 """ run load to validate config """ |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
935 # incompatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
936 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
|
937 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
|
938 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
939 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
|
940 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
|
941 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
942 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
|
943 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
|
944 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
945 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
|
946 """ 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
|
947 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
948 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
|
949 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
950 # incompatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
951 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
|
952 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
|
953 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
954 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
|
955 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
|
956 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
957 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
|
958 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
|
959 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
960 # compatible pair |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
961 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
|
962 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
|
963 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
964 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
|
965 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
966 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
|
967 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
|
968 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
969 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
|
970 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
971 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
|
972 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
|
973 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
974 # 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
|
975 try: |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
976 del(sys.modules['redis']) |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
977 except KeyError: |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
978 # redis is not available anyway. |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
979 pass |
|
e0f0aed72097
Fix test if redis is not loaded
John Rouillard <rouilj@ieee.org>
parents:
6814
diff
changeset
|
980 |
|
6814
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
981 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
|
982 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
|
983 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
|
984 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
|
985 |
|
3f60a71b0812
Summary: Support selecion session/otk data store. Add redis as data store.
John Rouillard <rouilj@ieee.org>
parents:
6681
diff
changeset
|
986 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
|
987 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
|
988 |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
989 def testLoadConfig(self): |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
990 """ run load to validate config """ |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
991 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
992 config = configuration.CoreConfig() |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
993 |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
994 config.load(self.dirname) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
995 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
996 # 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
|
997 with self.assertRaises(configuration.InvalidOptionError) as cm: |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
998 # using lower case name fails |
|
6356
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
999 c = config['indexer_language'] |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
1000 print(cm.exception) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
1001 self.assertIn("indexer_language", repr(cm.exception)) |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
1002 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
1003 # 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
|
1004 self.assertEqual(config['HTML_VERSION'], 'html4') |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
1005 self.assertEqual(config[('main', 'html_version')], 'html4') |
|
c26b9ce33ae3
issue2551123 - validate indexer_language in configuration.py
John Rouillard <rouilj@ieee.org>
parents:
6331
diff
changeset
|
1006 |
|
6357
c985ed52ca2d
Add testcases for invalid indexer_language
John Rouillard <rouilj@ieee.org>
parents:
6356
diff
changeset
|
1007 # 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
|
1008 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
|
1009 self.assertEqual(config[('web','cookie_takes_precedence')], 0) |
| 6358 | 1010 |
| 1011 | |
|
6359
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1012 def testLoadConfigNoConfig(self): |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1013 """ 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
|
1014 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1015 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
|
1016 if os.path.exists(c): |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1017 os.remove(c) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1018 else: |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1019 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
|
1020 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1021 config = configuration.CoreConfig() |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1022 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1023 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
|
1024 config.load(self.dirname) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1025 |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1026 print(cm.exception) |
|
2d42a308927b
Test trying to load missing config.ini file.
John Rouillard <rouilj@ieee.org>
parents:
6358
diff
changeset
|
1027 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
|
1028 |
|
8446
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1029 def testFormattedLogging(self): |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1030 """Depends on using default logging format with %(trace_id)""" |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1031 |
|
8446
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1032 def find_file_occurances(string): |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1033 return len(re.findall(r'\bFile\b', string)) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1034 |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1035 config = configuration.CoreConfig(settings={"LOGGING_LEVEL": "DEBUG"}) |
|
8446
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1036 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1037 # format the record and verify the logformat/trace_id. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1038 config._logging_test(None, msg="message") |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1039 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1040 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1041 self.assertEqual("message", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1042 logger = logging.getLogger('roundup') |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1043 hdlr = logger.handlers[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1044 log = hdlr.format(self._caplog.records[0]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1045 # verify that %(trace_id) was set and substituted |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1046 # Note: trace_id is not initialized in this test case |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1047 log_parts = log.split() |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1048 # testing len(shorten_int_uuid(uuid.uuid4().int)) |
|
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1049 # for 20000 tests gives range [19,22] |
|
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1050 self.assertRegex(log_parts[2], r'^[A-Za-z0-9]{19,22}') |
|
8446
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1051 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1052 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1053 # the rest check various values of sinfo and msg formating. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1054 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1055 # sinfo = 1 - one line of stack starting with log call |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1056 config._logging_test(1) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1057 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1058 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1059 self.assertIn("test a_var\n File", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1060 self.assertIn("in _logging_test", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1061 self.assertIn("logger.info(msg, extra=", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1062 self.assertEqual(find_file_occurances(tuple[2]), 1) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1063 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1064 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1065 # sinfo = None - 5 lines of stack starting with log call |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1066 config._logging_test(None) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1067 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1068 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1069 self.assertIn("test a_var\n File", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1070 self.assertIn("in _logging_test", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1071 self.assertIn("logger.info(msg, extra=", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1072 self.assertEqual(find_file_occurances(tuple[2]), 5) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1073 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1074 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1075 # sinfo = 0 - whole stack starting with log call |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1076 config._logging_test(0) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1077 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1078 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1079 self.assertIn("test a_var\n File", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1080 self.assertIn("in _logging_test", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1081 self.assertIn("logger.info(msg, extra=", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1082 # A file in 'pytest' directory should be at the top of stack. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1083 self.assertIn("pytest", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1084 # no idea how deep the actual stack is, could change with python |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1085 # versions, but 3.12 is 33 so .... |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1086 self.assertTrue(find_file_occurances(tuple[2]) > 10) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1087 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1088 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1089 # sinfo = -1 - one line of stack starting with extract_stack() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1090 config._logging_test(-1) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1091 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1092 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1093 self.assertIn("test a_var\n File", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1094 # The call to extract_stack should be included as the frame |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1095 # at bottom of stack. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1096 self.assertIn("extract_stack()", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1097 # only one frame included |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1098 self.assertEqual(find_file_occurances(tuple[2]), 1) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1099 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1100 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1101 # sinfo = 1000 - whole stack starting with log call 1000>stack size |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1102 config._logging_test(1000) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1103 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1104 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1105 self.assertIn("test a_var\n File", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1106 self.assertIn("in _logging_test", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1107 self.assertIn("logger.info(msg, extra=", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1108 # A file in 'pytest' directory should be at the top of stack. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1109 self.assertIn("pytest", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1110 # no idea how deep the actual stack is, could change with python |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1111 # versions, but 3.12 is 33 so .... |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1112 self.assertTrue(find_file_occurances(tuple[2]) > 10) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1113 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1114 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1115 # sinfo = -1000 - whole stack starting with extract_stack |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1116 config._logging_test(-1000) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1117 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1118 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1119 self.assertIn("test a_var\n File", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1120 self.assertIn("in _logging_test", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1121 self.assertIn("logger.info(msg, extra=", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1122 # The call to extract_stack should be included as the frame |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1123 # at bottom of stack. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1124 self.assertIn("extract_stack()", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1125 # A file in 'pytest' directory should be at the top of stack. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1126 # no idea how deep the actual stack is, could change with python |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1127 # versions, but 3.12 is 33 so .... |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1128 self.assertTrue(find_file_occurances(tuple[2]) > 10) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1129 self.assertIn("pytest", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1130 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1131 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1132 # pass args and compatible message |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1133 config._logging_test(None, args=(1,2,3), |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1134 msg="one: %s, two: %s, three: %s" |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1135 ) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1136 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1137 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1138 self.assertEqual('one: 1, two: 2, three: 3', tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1139 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1140 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1141 # error case for incorrect placeholder |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1142 config._logging_test(None, msg="%(a)") |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1143 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1144 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1145 self.assertEqual("%(a)", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1146 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1147 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1148 # error case for incompatible format record is the first argument |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1149 # and it can't be turned into floating point. |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1150 config._logging_test(None, msg="%f") |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1151 tuple = self._caplog.record_tuples[0] |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1152 self.assertEqual(tuple[1], 20) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1153 self.assertEqual("%f", tuple[2]) |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1154 self._caplog.clear() |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1155 |
|
14c7c07b32d8
feature: add thread local trace_id and trace_reason to logging.
John Rouillard <rouilj@ieee.org>
parents:
8443
diff
changeset
|
1156 |
|
7966
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1157 def testXhtmlRaisesOptionError(self): |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1158 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
|
1159 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1160 config = configuration.CoreConfig() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1161 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1162 # 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
|
1163 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
|
1164 |
|
7966
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1165 |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1166 with self.assertRaises(configuration.OptionValueError) as cm: |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1167 # load config |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1168 config.load(self.dirname) |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1169 |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1170 print(cm.exception) |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1171 self.assertEqual(str(cm.exception), |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1172 "Invalid value for HTML_VERSION: 'xhtml'\n" |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1173 "Allowed values: html4") |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1174 |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1175 def testCopyConfig(self): |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1176 |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1177 self.munge_configini(mods=[ ("static_files = ", "html2") ]) |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1178 |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1179 config = configuration.CoreConfig() |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1180 |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1181 # verify config is initalized to defaults |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1182 self.assertEqual(config['STATIC_FILES'], None) |
|
1e38ca6fb16e
test: clean up test for deprecation of xhtml.
John Rouillard <rouilj@ieee.org>
parents:
7913
diff
changeset
|
1183 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1184 # load config |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1185 STATIC_FILES = os.path.join(self.dirname, "html2") |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1186 config.load(self.dirname) |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1187 self.assertEqual(config['STATIC_FILES'], [ STATIC_FILES ]) |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1188 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1189 # copy config |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1190 config_copy = config.copy() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1191 |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1192 # this should work |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1193 self.assertEqual(config_copy['STATIC_FILES'], [STATIC_FILES]) |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1194 |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1195 @skip_py2 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1196 def testConfigValueInterpolateError(self): |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1197 ''' error is not raised using ConfigParser under Python 2. |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1198 Unknown cause, so skip it if running python 2. |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1199 ''' |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1200 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1201 self.munge_configini(mods=[ ("admin_email = ", "a bare % is invalid") ]) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1202 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1203 config = configuration.CoreConfig() |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1204 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1205 # load config generates: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1206 ''' |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1207 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
|
1208 ''' |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1209 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1210 with self.assertRaises(configuration.ParsingOptionError) as cm: |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1211 config.load(self.dirname) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1212 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1213 print(cm.exception) |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1214 self.assertIn("'%' must be followed by '%' or '(', found: '% is invalid'", cm.exception.args[0]) |
|
7913
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
1215 self.assertIn(normpath("_test_instance/config.ini") + " with section [main] at option admin_email", cm.exception.args[0]) |
|
6557
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1216 |
|
8687c096a945
Handle configparser.InterpolationSyntaxError
John Rouillard <rouilj@ieee.org>
parents:
6371
diff
changeset
|
1217 |
|
6560
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1218 from roundup.admin import AdminTool |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1219 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
|
1220 |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1221 admin=AdminTool() |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1222 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
|
1223 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
|
1224 ret = admin.main() |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1225 |
|
7913
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
1226 expected_err = ("Error in " + |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
1227 normpath("_test_instance/config.ini") + |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
1228 " with section [main] at option admin_email: '%' " |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
1229 "must be followed by '%' or '(', found: " |
|
6102ae426390
issue2551334 - get test suite running under windows
John Rouillard <rouilj@ieee.org>
parents:
7900
diff
changeset
|
1230 "'% is invalid'") |
|
6560
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1231 |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1232 self.assertEqual(ret, 1) |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1233 out = out.getvalue().strip() |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1234 self.assertEqual(out, expected_err) |
|
fdfe3b7387ea
Add test for config parse error by running AdminTool.
John Rouillard <rouilj@ieee.org>
parents:
6557
diff
changeset
|
1235 |
| 6358 | 1236 def testInvalidIndexerValue(self): |
| 1237 """ Mistype native indexer. Verify exception is | |
| 1238 generated. | |
| 1239 """ | |
| 1240 | |
| 1241 print("Testing indexer nati") | |
| 1242 | |
| 1243 self.munge_configini(mods=[ ("indexer = ", "nati") ]) | |
| 1244 | |
| 1245 with self.assertRaises(configuration.OptionValueError) as cm: | |
| 1246 config.load(self.dirname) | |
| 1247 | |
| 1248 self.assertIn("OptionValueError", repr(cm.exception)) | |
| 1249 # look for failing value | |
| 1250 self.assertEqual("nati", cm.exception.args[1]) | |
| 1251 # look for supported values | |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1252 self.assertIn("'whoosh'", cm.exception.args[2]) |
| 6358 | 1253 |
|
6363
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1254 # 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
|
1255 string_rep = cm.exception.__str__() |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1256 print(string_rep) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1257 self.assertIn("nati", string_rep) |
|
08e209a7f22b
Use OptionValueError for indexer_language error, add configuration tests
John Rouillard <rouilj@ieee.org>
parents:
6359
diff
changeset
|
1258 self.assertIn("'whoosh'", string_rep) |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1259 |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1260 def testLoggerFormat(self): |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1261 config = configuration.CoreConfig() |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1262 |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1263 # verify config is initalized to defaults |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1264 self.assertEqual(config['LOGGING_FORMAT'], |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1265 '%(asctime)s %(trace_id)s %(levelname)s %(message)s') |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1266 |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1267 # load config |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1268 config.load(self.dirname) |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1269 self.assertEqual(config['LOGGING_FORMAT'], |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1270 '%(asctime)s %(trace_id)s %(levelname)s %(message)s') |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1271 |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1272 # break config using an incomplete format specifier (no trailing 's') |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1273 self.munge_configini(mods=[ ("format = ", "%%(asctime)s %%(trace_id)s %%(levelname) %%(message)s") ], section="[logging]") |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1274 |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1275 # load config |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1276 with self.assertRaises(configuration.OptionValueError) as cm: |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1277 config.load(self.dirname) |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1278 |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1279 self.assertIn('Unrecognized use of %(...) in: %(levelname)', |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1280 cm.exception.args[2]) |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1281 |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1282 # break config by not doubling % sign to quote it from configparser |
|
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1283 self.munge_configini(mods=[ ("format = ", "%(asctime)s %%(trace_id)s %%(levelname) %%(message)s") ], section="[logging]") |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1284 |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1285 with self.assertRaises( |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1286 configuration.ParsingOptionError) as cm: |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1287 config.load(self.dirname) |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1288 |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1289 ini_path = os.path.join(self.dirname, "config.ini") |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1290 self.assertEqual(cm.exception.args[0],( |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1291 f"Error in {ini_path} with section " |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1292 "[logging] at option format: Bad value substitution: " |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1293 "option 'format' in section 'logging' contains an " |
|
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1294 "interpolation key 'asctime' which is not a valid " |
|
8447
d06be9346c68
bug, test: fix tests for trace_id; readd import logging.config
John Rouillard <rouilj@ieee.org>
parents:
8446
diff
changeset
|
1295 "option name. Raw value: '%(asctime)s %%(trace_id)s " |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1296 "%%(levelname) %%(message)s'")) |
|
8443
39a6825d10ca
feat: allow admin to set logging format from config.ini
John Rouillard <rouilj@ieee.org>
parents:
8434
diff
changeset
|
1297 |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1298 def testDictLoggerConfigViaJson(self): |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1299 |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1300 # good base test case |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1301 config1 = dedent(""" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1302 { |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1303 "version": 1, // only supported version |
|
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1304 "disable_existing_loggers": false, // keep the wsgi loggers |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1305 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1306 "formatters": { |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1307 // standard Roundup formatter including context id. |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1308 "standard": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1309 "format": "%(asctime)s %(levelname)s %(name)s:%(module)s %(msg)s" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1310 }, |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1311 // used for waitress wsgi server to produce httpd style logs |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1312 "http": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1313 "format": "%(message)s" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1314 } |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1315 }, |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1316 "handlers": { |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1317 // create an access.log style http log file |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1318 "access": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1319 "level": "INFO", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1320 "formatter": "http", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1321 "class": "logging.FileHandler", |
|
8424
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1322 "filename": "_test_instance/access.log" |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1323 }, |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1324 // logging for roundup.* loggers |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1325 "roundup": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1326 "level": "DEBUG", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1327 "formatter": "standard", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1328 "class": "logging.FileHandler", |
|
8424
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1329 "filename": "_test_instance/roundup.log" |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1330 }, |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1331 // print to stdout - fall through for other logging |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1332 "default": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1333 "level": "DEBUG", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1334 "formatter": "standard", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1335 "class": "logging.StreamHandler", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1336 "stream": "ext://sys.stdout" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1337 } |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1338 }, |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1339 "loggers": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1340 "": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1341 "handlers": [ |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1342 "default" // used by wsgi/usgi |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1343 ], |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1344 "level": "DEBUG", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1345 "propagate": false |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1346 }, |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1347 // used by roundup.* loggers |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1348 "roundup": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1349 "handlers": [ |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1350 "roundup" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1351 ], |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1352 "level": "DEBUG", |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1353 "propagate": false // note pytest testing with caplog requires |
|
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1354 // this to be true |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1355 }, |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1356 "roundup.hyperdb": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1357 "handlers": [ |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1358 "roundup" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1359 ], |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1360 "level": "INFO", // can be a little noisy INFO for production |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1361 "propagate": false |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1362 }, |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1363 "roundup.wsgi": { // using the waitress framework |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1364 "handlers": [ |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1365 "roundup" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1366 ], |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1367 "level": "DEBUG", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1368 "propagate": false |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1369 }, |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1370 "roundup.wsgi.translogger": { // httpd style logging |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1371 "handlers": [ |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1372 "access" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1373 ], |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1374 "level": "DEBUG", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1375 "propagate": false |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1376 }, |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1377 "root": { |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1378 "handlers": [ |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1379 "default" |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1380 ], |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1381 "level": "DEBUG", |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1382 "propagate": false |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1383 } |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1384 } |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1385 } |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1386 """) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1387 |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1388 log_config_filename = os.path.join(self.instance.tracker_home, |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1389 "_test_log_config.json") |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1390 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1391 # happy path |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1392 with open(log_config_filename, "w") as log_config_file: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1393 log_config_file.write(config1) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1394 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1395 config = self.db.config.load_config_dict_from_json_file( |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1396 log_config_filename) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1397 self.assertIn("version", config) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1398 self.assertEqual(config['version'], 1) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1399 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1400 # broken inline comment misformatted |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1401 test_config = config1.replace(": 1, //", ": 1, //") |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1402 with open(log_config_filename, "w") as log_config_file: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1403 log_config_file.write(test_config) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1404 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1405 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1406 config = self.db.config.load_config_dict_from_json_file( |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1407 log_config_filename) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1408 self.assertEqual( |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1409 cm.exception.args[0], |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1410 ('Error parsing json logging dict ' |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1411 '(%s) near \n\n ' |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1412 '"version": 1, // only supported version\n\nExpecting ' |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1413 'property name enclosed in double quotes: line 3 column 18.\n' |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1414 'Maybe bad inline comment, 3 spaces needed before //.' % |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1415 log_config_filename) |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1416 ) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1417 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1418 # broken trailing , on last dict element |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1419 test_config = config1.replace(' "ext://sys.stdout"', |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1420 ' "ext://sys.stdout",' |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1421 ) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1422 with open(log_config_filename, "w") as log_config_file: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1423 log_config_file.write(test_config) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1424 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1425 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1426 config = self.db.config.load_config_dict_from_json_file( |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1427 log_config_filename) |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1428 #pre 3.12?? |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1429 # FIXME check/remove when 3.13. is min supported version |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1430 if "property name" in cm.exception.args[0]: |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1431 self.assertEqual( |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1432 cm.exception.args[0], |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1433 ('Error parsing json logging dict ' |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1434 '(%s) near \n\n' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1435 ' }\n\n' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1436 'Expecting property name enclosed in double ' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1437 'quotes: line 37 column 6.' % log_config_filename) |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1438 ) |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1439 |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1440 # 3.13+ diags FIXME |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1441 print('FINDME') |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1442 print(cm.exception.args[0]) |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1443 _junk = ''' |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1444 if "property name" not in cm.exception.args[0]: |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1445 self.assertEqual( |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1446 cm.exception.args[0], |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1447 ('Error parsing json logging dict ' |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1448 '(%s) near \n\n' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1449 ' "stream": "ext://sys.stdout"\n\n' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1450 'Expecting property name enclosed in double ' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1451 'quotes: line 37 column 6.' % log_config_filename) |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1452 ) |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1453 ''' |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1454 # happy path for init_logging() |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1455 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1456 # verify preconditions |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1457 logger = logging.getLogger("roundup") |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1458 self.assertEqual(logger.level, 40) # error default from config.ini |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1459 self.assertEqual(logger.filters, []) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1460 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1461 with open(log_config_filename, "w") as log_config_file: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1462 log_config_file.write(config1) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1463 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1464 # file is made relative to tracker dir. |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1465 self.db.config["LOGGING_CONFIG"] = '_test_log_config.json' |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1466 config = self.db.config.init_logging() |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1467 self.assertIs(config, None) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1468 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1469 logger = logging.getLogger("roundup") |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1470 self.assertEqual(logger.level, 10) # debug |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1471 self.assertEqual(logger.filters, []) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1472 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1473 # broken invalid format type (int not str) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1474 test_config = config1.replace('"format": "%(message)s"', |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1475 '"format": 1234',) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1476 with open(log_config_filename, "w") as log_config_file: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1477 log_config_file.write(test_config) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1478 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1479 # file is made relative to tracker dir. |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1480 self.db.config["LOGGING_CONFIG"] = '_test_log_config.json' |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1481 |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1482 |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1483 # different versions of python have different errors |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1484 # (or no error for this case in 3.7) |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1485 # FIXME remove version check post 3.7 as minimum version |
|
8429
3210729950b1
test: fix code that does not run a test on 3.7
John Rouillard <rouilj@ieee.org>
parents:
8428
diff
changeset
|
1486 if sys.version_info >= (3, 8, 0): |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1487 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1488 config = self.db.config.init_logging() |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1489 |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1490 # mangle args[0] to add got 'int' |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1491 # FIXME: remove mangle after 3.12 min version |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1492 self.assertEqual( |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1493 cm.exception.args[0].replace( |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1494 "object\n", "object, got 'int'\n"), |
|
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1495 ('Error loading logging dict from ' |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1496 '%s.\n' |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1497 "ValueError: Unable to configure formatter 'http'\n" |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1498 "expected string or bytes-like object, got 'int'\n" % |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1499 log_config_filename) |
|
8426
cd0edc091b97
test: more fixes for variations among python versions.
John Rouillard <rouilj@ieee.org>
parents:
8424
diff
changeset
|
1500 ) |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1501 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1502 # broken invalid level MANGO |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1503 test_config = config1.replace( |
|
8433
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1504 ': "INFO", // can', |
|
de1dac9abcb6
feat: change comment in dictConfig json file to // from #
John Rouillard <rouilj@ieee.org>
parents:
8429
diff
changeset
|
1505 ': "MANGO", // can') |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1506 with open(log_config_filename, "w") as log_config_file: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1507 log_config_file.write(test_config) |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1508 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1509 # file is made relative to tracker dir. |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1510 self.db.config["LOGGING_CONFIG"] = '_test_log_config.json' |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1511 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1512 config = self.db.config.init_logging() |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1513 self.assertEqual( |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1514 cm.exception.args[0], |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1515 ("Error loading logging dict from " |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1516 "%s.\nValueError: " |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1517 "Unable to configure logger 'roundup.hyperdb'\nUnknown level: " |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1518 "'MANGO'\n" % log_config_filename) |
|
8423
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1519 |
|
94eed885e958
feat: add support for using dictConfig to configure logging.
John Rouillard <rouilj@ieee.org>
parents:
7966
diff
changeset
|
1520 ) |
|
8424
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1521 |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1522 # broken invalid output directory |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1523 test_config = config1.replace( |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1524 ' "_test_instance/access.log"', |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1525 ' "not_a_test_instance/access.log"') |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1526 access_filename = os.path.join("not_a_test_instance", "access.log") |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1527 |
|
8424
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1528 with open(log_config_filename, "w") as log_config_file: |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1529 log_config_file.write(test_config) |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1530 |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1531 # file is made relative to tracker dir. |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1532 self.db.config["LOGGING_CONFIG"] = '_test_log_config.json' |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1533 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1534 config = self.db.config.init_logging() |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1535 |
|
4a948ad46579
test: fix testDictLoggerConfigViaJson
John Rouillard <rouilj@ieee.org>
parents:
8423
diff
changeset
|
1536 # error includes full path which is different on different |
|
8428
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1537 # CI and dev platforms. So munge the path using re.sub and |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1538 # replace. Windows needs replace as the full path for windows |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1539 # to the file has '\\\\' not '\\' when taken from __context__. |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1540 # E.G. |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1541 # ("Error loading logging dict from ' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1542 # '_test_instance\\_test_log_config.json.\nValueError: ' |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1543 # "Unable to configure handler 'access'\n[Errno 2] No such file " |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1544 # "or directory: " |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1545 # "'C:\\\\tracker\\\\path\\\\not_a_test_instance\\\\access.log'\n") |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1546 # sigh..... |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1547 output = re.sub("directory: \'.*not_a", 'directory: not_a' , |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1548 cm.exception.args[0].replace(r'\\','\\')) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1549 target = ("Error loading logging dict from " |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1550 "%s.\n" |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1551 "ValueError: Unable to configure handler 'access'\n" |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1552 "[Errno 2] No such file or directory: " |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1553 "%s'\n" % (log_config_filename, access_filename)) |
|
cdf876bcd370
test: test dictLoggerConfig - working logging reset and windows
John Rouillard <rouilj@ieee.org>
parents:
8427
diff
changeset
|
1554 self.assertEqual(output, target) |
|
8427
b34c3b8338f0
test: more fun with logger leakage.
John Rouillard <rouilj@ieee.org>
parents:
8426
diff
changeset
|
1555 |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1556 # mess up '}' so json file block isn't properly closed. |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1557 test_config = config1.replace( |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1558 ' }', |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1559 ' ') |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1560 |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1561 with open(log_config_filename, "w") as log_config_file: |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1562 log_config_file.write(test_config) |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1563 |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1564 # file is made relative to tracker dir. |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1565 self.db.config["LOGGING_CONFIG"] = '_test_log_config.json' |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1566 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1567 config = self.db.config.init_logging() |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1568 |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1569 output = cm.exception.args[0].replace(r'\\','\\') |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1570 target = ("Error parsing json logging dict " |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1571 "(%s) near \n\n" |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1572 " Error found at end of file. Maybe missing a " |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1573 "block closing '}'.\n\n" |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1574 "Expecting ',' delimiter: line 86 column 1." % |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1575 (log_config_filename,)) |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1576 self.assertEqual(output, target) |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1577 |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1578 def testIniFileLoggerConfig(self): |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1579 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1580 # good base test case |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1581 config1 = dedent(""" |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1582 [loggers] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1583 keys=root,roundup,roundup.http,roundup.hyperdb,actions,schema,extension,detector |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1584 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1585 [logger_root] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1586 #DEBUG, INFO, WARNING, ERROR, CRITICAL |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1587 #also for root only NOTSET (all) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1588 level=DEBUG |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1589 handlers=basic |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1590 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1591 [logger_roundup] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1592 #DEBUG, INFO, WARNING, ERROR, CRITICAL |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1593 #also for root only NOTSET (all) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1594 level=DEBUG |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1595 handlers=rotate |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1596 qualname=roundup |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1597 propagate=0 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1598 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1599 [logger_roundup.http] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1600 level=INFO |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1601 handlers=rotate_weblog |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1602 qualname=roundup.http |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1603 propagate=0 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1604 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1605 [logger_roundup.hyperdb] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1606 level=WARNING |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1607 handlers=rotate |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1608 qualname=roundup.hyperdb |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1609 propagate=0 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1610 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1611 [logger_actions] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1612 #DEBUG, INFO, WARNING, ERROR, CRITICAL |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1613 #also for root only NOTSET (all) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1614 level=DEBUG |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1615 handlers=rotate |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1616 qualname=actions |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1617 propagate=0 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1618 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1619 [logger_detector] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1620 #DEBUG, INFO, WARNING, ERROR, CRITICAL |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1621 #also for root only NOTSET (all) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1622 level=DEBUG |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1623 handlers=rotate |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1624 qualname=detector |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1625 propagate=0 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1626 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1627 [logger_schema] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1628 level=DEBUG |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1629 handlers=rotate |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1630 qualname=schema |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1631 propagate=0 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1632 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1633 [logger_extension] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1634 level=DEBUG |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1635 handlers=rotate |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1636 qualname=extension |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1637 propagate=0 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1638 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1639 [handlers] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1640 keys=basic,rotate,rotate_weblog |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1641 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1642 [handler_basic] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1643 class=StreamHandler |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1644 args=(sys.stderr,) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1645 formatter=basic |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1646 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1647 [handler_rotate] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1648 class=logging.handlers.RotatingFileHandler |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1649 args=('roundup.log','a', 512000, 2) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1650 formatter=basic |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1651 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1652 [handler_rotate_weblog] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1653 class=logging.handlers.RotatingFileHandler |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1654 args=('httpd.log','a', 512000, 2) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1655 formatter=plain |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1656 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1657 [formatters] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1658 keys=basic,plain |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1659 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1660 [formatter_basic] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1661 format=%(asctime)s %(name)s:%(module)s.%(funcName)s,%(levelname)s: %(message)s |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1662 datefmt=%Y-%m-%d %H:%M:%S |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1663 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1664 [formatter_plain] |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1665 format=%(message)s |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1666 """) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1667 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1668 log_config_filename = os.path.join(self.instance.tracker_home, |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1669 "_test_log_config.ini") |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1670 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1671 # happy path |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1672 with open(log_config_filename, "w") as log_config_file: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1673 log_config_file.write(config1) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1674 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1675 self.db.config.LOGGING_CONFIG = "_test_log_config.ini" |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1676 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1677 # verify we have a clean environment |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1678 self.assertEqual(len(logging.getLogger('roundup.http').handlers), 0) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1679 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1680 # always returns None |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1681 self.db.config.init_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1682 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1683 # verify that logging loaded and handler is set |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1684 # default log config doesn't define handlers for roundup.http |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1685 self.assertEqual(len(logging.getLogger('roundup.http').handlers), 1) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1686 self.reset_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1687 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1688 # use undefined enumeration |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1689 test_config = config1.replace("=DEBUG\n", "=DEBUF\n") |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1690 with open(log_config_filename, "w") as log_config_file: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1691 log_config_file.write(test_config) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1692 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1693 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1694 config = self.db.config.init_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1695 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1696 # verify that logging was reset |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1697 # default log config doesn't define handlers for roundup.http |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1698 self.assertEqual(len(logging.getLogger('roundup.http').handlers), 0) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1699 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1700 self.assertEqual( |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1701 cm.exception.args[0].replace(r'\\','\\'), |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1702 ('Error loading logging config from %s.\n\n' |
|
8455
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1703 " ValueError: Unknown level: 'DEBUF'\n\n" |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1704 'Inappropriate argument value (of correct type).\n' % |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1705 log_config_filename) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1706 ) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1707 self.reset_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1708 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1709 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1710 # add a syntax error "= foo" |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1711 test_config = config1.replace("=DEBUG\n", "=DEBUG\n=foo\n", 1) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1712 with open(log_config_filename, "w") as log_config_file: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1713 log_config_file.write(test_config) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1714 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1715 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1716 config = self.db.config.init_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1717 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1718 # verify that logging was reset |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1719 # default log config doesn't define handlers for roundup.http |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1720 self.assertEqual(len(logging.getLogger('roundup.http').handlers), 0) |
|
8455
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1721 |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1722 output = cm.exception.args[0].replace(r'\\','\\') |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1723 |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1724 if sys.version_info >= (3, 12, 0): |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1725 expected = ( |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1726 "Error loading logging config from %(filename)s.\n\n" |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1727 " RuntimeError: %(filename)s is invalid: Source contains parsing errors: " |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1728 "'%(filename)s'\n\t[line 9]: '=foo\\n'\n\n" |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1729 "Source contains parsing errors: '%(filename)s'\n" |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1730 "\t[line 9]: '=foo\\n' Unspecified run-time error.\n" % |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1731 {"filename": log_config_filename}) |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1732 |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1733 else: # 3.7 <= x < 3.12.0 |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1734 |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1735 expected = ( |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1736 "Error loading logging config from %(filename)s.\n\n" |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1737 " ParsingError: Source contains parsing errors: " |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1738 "'%(filename)s'\n" |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1739 "\t[line 9]: '=foo\\n'\n\n" |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1740 "Raised when a configuration file does not follow legal " |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1741 "syntax.\n" % {"filename": log_config_filename}) |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1742 |
|
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1743 self.assertEqual(output, expected) |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1744 self.reset_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1745 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1746 # handler = basic to handler = basi |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1747 test_config = config1.replace("handlers=basic\n", "handlers=basi\n", 1) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1748 with open(log_config_filename, "w") as log_config_file: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1749 log_config_file.write(test_config) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1750 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1751 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1752 config = self.db.config.init_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1753 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1754 # verify that logging was reset |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1755 # default log config doesn't define handlers for roundup.http |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1756 self.assertEqual(len(logging.getLogger('roundup.http').handlers), 0) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1757 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1758 self.assertEqual( |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1759 cm.exception.args[0].replace(r'\\','\\'), |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1760 ("Error loading logging config from %(filename)s.\n\n" |
|
8455
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1761 " KeyError: 'basi'\n\n" |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1762 "Mapping key not found. No section found with this name.\n" % |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1763 {"filename": log_config_filename}) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1764 ) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1765 self.reset_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1766 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1767 # Change class to missing class |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1768 test_config = config1.replace("class=StreamHandler\n", |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1769 "class=SHAndler\n", 1) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1770 with open(log_config_filename, "w") as log_config_file: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1771 log_config_file.write(test_config) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1772 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1773 with self.assertRaises(configuration.LoggingConfigError) as cm: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1774 config = self.db.config.init_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1775 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1776 # verify that logging was reset |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1777 # default log config doesn't define handlers for roundup.http |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1778 self.assertEqual(len(logging.getLogger('roundup.http').handlers), 0) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1779 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1780 self.assertEqual( |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1781 cm.exception.args[0].replace(r'\\','\\'), |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1782 ("Error loading logging config from %(filename)s.\n\n" |
|
8455
6d6f689d3701
fix: python < 3.12 returns ParsingError not RuntimeError; print exception
John Rouillard <rouilj@ieee.org>
parents:
8452
diff
changeset
|
1783 " ModuleNotFoundError: No module named 'SHAndler'\n\n" |
|
8452
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1784 "name 'SHAndler' is not defined Module not found.\n" % |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1785 {"filename": log_config_filename}) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1786 ) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1787 self.reset_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1788 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1789 # remove section to cause duplicate option definition |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1790 test_config = config1.replace("[logger_roundup.http]\n", |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1791 "\n", 1) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1792 with open(log_config_filename, "w") as log_config_file: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1793 log_config_file.write(test_config) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1794 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1795 with self.assertRaises(configparser.DuplicateOptionError) as cm: |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1796 config = self.db.config.init_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1797 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1798 # verify that logging was reset |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1799 # default log config doesn't define handlers for roundup.http |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1800 self.assertEqual(len(logging.getLogger('roundup.http').handlers), 0) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1801 |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1802 self.assertEqual( |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1803 str(cm.exception).replace(r'\\','\\'), |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1804 ("While reading from '%(filename)s' [line 20]: " |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1805 "option 'level' in section 'logger_roundup' already exists" % |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1806 {"filename": log_config_filename}) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1807 ) |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1808 self.reset_logging() |
|
e91ff70e4563
bug: improve error reporting for errors for logging fileConfig.
John Rouillard <rouilj@ieee.org>
parents:
8451
diff
changeset
|
1809 |
|
8434
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1810 def test_missing_logging_config_file(self): |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1811 saved_config = self.db.config['LOGGING_CONFIG'] |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1812 |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1813 for logging_file in ["logging.json", "logging.ini", "logging.foobar"]: |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1814 self.db.config['LOGGING_CONFIG'] = logging_file |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1815 |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1816 with self.assertRaises(configuration.OptionValueError) as cm: |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1817 self.db.config.init_logging() |
|
8434
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1818 |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1819 logging_configfile = os.path.join(self.dirname, logging_file) |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1820 self.assertEqual(cm.exception.args[1], logging_configfile) |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1821 self.assertEqual(cm.exception.args[2], |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1822 "Unable to find logging config file.") |
|
8434
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1823 |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1824 self.db.config['LOGGING_CONFIG'] = saved_config |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1825 |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1826 def test_unknown_logging_config_file_type(self): |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1827 saved_config = self.db.config['LOGGING_CONFIG'] |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1828 |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1829 self.db.config['LOGGING_CONFIG'] = 'schema.py' |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1830 |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1831 |
|
8434
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1832 with self.assertRaises(configuration.OptionValueError) as cm: |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1833 self.db.config.init_logging() |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1834 |
|
8451
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1835 logging_configfile = os.path.join(self.dirname, "schema.py") |
|
401c6f0be6c5
bug: fix json logging config file syntax exception/fix test for windows
John Rouillard <rouilj@ieee.org>
parents:
8447
diff
changeset
|
1836 self.assertEqual(cm.exception.args[1], logging_configfile) |
|
8434
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1837 self.assertEqual(cm.exception.args[2], |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1838 "Unable to load logging config file. " |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1839 "File extension must be '.ini' or '.json'.\n") |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1840 |
|
66284037142e
refactor: also error on missing file or invalid extension
John Rouillard <rouilj@ieee.org>
parents:
8433
diff
changeset
|
1841 self.db.config['LOGGING_CONFIG'] = saved_config |
