| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- # --- BEGIN COPYRIGHT BLOCK ---
- # Copyright (C) 2017 Red Hat, Inc.
- # All rights reserved.
- #
- # License: GPL (version 3 or any later version).
- # See LICENSE for details.
- # --- END COPYRIGHT BLOCK ---
- #
- import pytest
- from lib389.dseldif import DSEldif
- from lib389._constants import DN_CONFIG, LOG_REPLICA, LOG_DEFAULT, LOG_TRACE, LOG_ACL
- from lib389.utils import os, logging
- from lib389.topologies import topology_st as topo
- DEBUGGING = os.getenv("DEBUGGING", default=False)
- if DEBUGGING:
- logging.getLogger(__name__).setLevel(logging.DEBUG)
- else:
- logging.getLogger(__name__).setLevel(logging.INFO)
- log = logging.getLogger(__name__)
- @pytest.mark.bz1460718
- @pytest.mark.parametrize("log_level", [(LOG_REPLICA + LOG_DEFAULT), (LOG_ACL + LOG_DEFAULT), (LOG_TRACE + LOG_DEFAULT)])
- def test_default_loglevel_stripped(topo, log_level):
- """The default log level 16384 is stripped from the log level returned to a client
- :id: c300f8f1-aa11-4621-b124-e2be51930a6b
- :setup: Standalone instance
- :steps: 1. Change the error log level to the default and custom value.
- 2. Check if the server returns the new value.
- :expectedresults:
- 1. Changing the error log level should be successful.
- 2. Server should return the new log level.
- """
- assert topo.standalone.config.set('nsslapd-errorlog-level', str(log_level))
- assert topo.standalone.config.get_attr_val_int('nsslapd-errorlog-level') == log_level
- @pytest.mark.bz1460718
- def test_dse_config_loglevel_error(topo):
- """Manually setting nsslapd-errorlog-level to 64 in dse.ldif throws error
- :id: 0eeefa17-ec1c-4208-8e7b-44d8fbc38f10
- :setup: Standalone instance
- :steps: 1. Stop the server, edit dse.ldif file and change nsslapd-errorlog-level value to 64
- 2. Start the server and observe the error logs.
- :expectedresults:
- 1. Server should be successfully stopped and nsslapd-errorlog-level value should be changed.
- 2. Server should be successfully started without any errors being reported in the logs.
- """
- topo.standalone.stop(timeout=10)
- dse_ldif = DSEldif(topo.standalone)
- try:
- dse_ldif.replace(DN_CONFIG, 'nsslapd-errorlog-level', 64)
- except:
- log.error('Failed to replace cn=config values of nsslapd-errorlog-level')
- raise
- topo.standalone.start(timeout=10)
- assert not topo.standalone.ds_error_log.match(
- '.*nsslapd-errorlog-level: ignoring 64 \\(since -d 266354688 was given on the command line\\).*')
- if __name__ == '__main__':
- # Run isolated
- # -s for DEBUG mode
- CURRENT_FILE = os.path.realpath(__file__)
- pytest.main("-s %s" % CURRENT_FILE)
|