annotate roundup/test/mocknull.py @ 6578:b1f1539c6a31

issue2551182 - ... allow loading values from external file. flake8 cleanups Secrets (passwords, secrets) can specify a file using file:// or file:///. The first line of the file is used as the secret. This allows committing config.ini to a VCS. Following settings are changed: [tracker] secret_key [tracker] jwt_secret [rdbms] password [mail] password details: in roundup/configuration.py: Defined SecretMandatoryOptions and SecretNullableOptions. Converted all secret keys and password to one of the above. Also if [mail] username is defined but [mail] password is not it throws an error at load. Cleaned up a couple of methods whose call signature included: def ...(..., settings={}): settings=None and it is set to empty dict inside the method. Also replace exception.message with str(exception) for python3 compatibility. in test/test_config: changed munge_configini to support changing only within a section, replacing keyword text.
author John Rouillard <rouilj@ieee.org>
date Mon, 03 Jan 2022 22:18:57 -0500
parents f2c31f5ec50b
children 617d85ce4ac3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2532
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
1
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
2 class MockNull:
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
3 def __init__(self, **kwargs):
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
4 for key, value in kwargs.items():
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
5 self.__dict__[key] = value
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
6
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
7 def __call__(self, *args, **kwargs): return MockNull()
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
8 def __getattr__(self, name):
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
9 # This allows assignments which assume all intermediate steps are Null
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
10 # objects if they don't exist yet.
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
11 #
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
12 # For example (with just 'client' defined):
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
13 #
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
14 # client.db.config.TRACKER_WEB = 'BASE/'
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
15 self.__dict__[name] = MockNull()
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
16 return getattr(self, name)
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
17
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
18 def __getitem__(self, key): return self
5457
a35d4cc8cd1a fix MissingValue / MockNull to return False on __bool__ and add a
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5404
diff changeset
19 def __bool__(self): return False
5404
3757449e00c4 Python 3 preparation: use __bool__ instead of __nonzero__.
Joseph Myers <jsm@polyomino.org.uk>
parents: 2686
diff changeset
20 # Python 2 compatibility:
3757449e00c4 Python 3 preparation: use __bool__ instead of __nonzero__.
Joseph Myers <jsm@polyomino.org.uk>
parents: 2686
diff changeset
21 __nonzero__ = __bool__
5457
a35d4cc8cd1a fix MissingValue / MockNull to return False on __bool__ and add a
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5404
diff changeset
22 def __contains__(self, key): return False
5461
ad8031290639 Python 3 compatibility for missing / mock value
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5457
diff changeset
23 def __eq__(self, rhs): return False
ad8031290639 Python 3 compatibility for missing / mock value
Christof Meerwald <cmeerw@cmeerw.org>
parents: 5457
diff changeset
24 def __ne__(self, rhs): return False
2532
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
25 def __str__(self): return ''
24d3b25a9157 *** empty log message ***
Richard Jones <richard@users.sourceforge.net>
parents:
diff changeset
26 def __repr__(self): return '<MockNull 0x%x>'%id(self)
2686
79fd8537ae3b .gettext() facility is vital for many roundup objects.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2532
diff changeset
27 def gettext(self, str): return str
79fd8537ae3b .gettext() facility is vital for many roundup objects.
Alexander Smishlajev <a1s@users.sourceforge.net>
parents: 2532
diff changeset
28 _ = gettext
5699
b1ab8bd18e79 Adding tests for csrf protection for rest. Also test disabling of
John Rouillard <rouilj@ieee.org>
parents: 5461
diff changeset
29 def get(self, name, default=None):
b1ab8bd18e79 Adding tests for csrf protection for rest. Also test disabling of
John Rouillard <rouilj@ieee.org>
parents: 5461
diff changeset
30 try:
b1ab8bd18e79 Adding tests for csrf protection for rest. Also test disabling of
John Rouillard <rouilj@ieee.org>
parents: 5461
diff changeset
31 return self.__dict__[name.lower()]
b1ab8bd18e79 Adding tests for csrf protection for rest. Also test disabling of
John Rouillard <rouilj@ieee.org>
parents: 5461
diff changeset
32 except KeyError:
b1ab8bd18e79 Adding tests for csrf protection for rest. Also test disabling of
John Rouillard <rouilj@ieee.org>
parents: 5461
diff changeset
33 return default

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