99
1010
1111@pytest .fixture
12- def extapp_log ():
13- """An io stream with the NotebookApp's logging output"""
14- stream = io .StringIO ()
15- return stream
16-
17-
18- @pytest .fixture (autouse = True )
19- def extapp_logcapture (monkeypatch , extapp_log ):
20- """"""
21- @default ('log' )
22- def _log_default (self ):
23- """Start logging for this application.
24- The default is to log to stderr using a StreamHandler, if no default
25- handler already exists. The log level starts at logging.WARN, but this
26- can be adjusted by setting the ``log_level`` attribute.
27- """
28- log = super (self .__class__ , self )._log_default ()
29- _log_handler = logging .StreamHandler (extapp_log )
30- _log_formatter = self ._log_formatter_cls (
31- fmt = self .log_format ,
32- datefmt = self .log_datefmt
33- )
34- _log_handler .setFormatter (_log_formatter )
35- log .addHandler (_log_handler )
36- return log
37-
38- monkeypatch .setattr (MockExtensionApp , '_log_default' , _log_default )
39- return _log_default
12+ def read_app_logs (capsys ):
13+ """Fixture that returns a callable to read
14+ the current output from the application's logs
15+ that was printed to sys.stderr.
16+ """
17+ def _inner ():
18+ captured = capsys .readouterr ()
19+ return captured .err
20+ return _inner
4021
4122
4223@pytest .fixture
43- def jp_server_config ():
24+ def jp_server_config (capsys ):
4425 return {
4526 "ServerApp" : {
4627 "jpserver_extensions" : {
@@ -77,13 +58,13 @@ def list_test_params(param_input):
7758 ])
7859)
7960def test_EXTAPP_AND_NBAPP_SHIM_MSG (
61+ read_app_logs ,
8062 extensionapp ,
81- extapp_log ,
8263 jp_argv ,
8364 trait_name ,
8465 trait_value
8566):
86- log = extapp_log . getvalue ()
67+ log = read_app_logs ()
8768 # Verify a shim warning appeared.
8869 log_msg = shim .EXTAPP_AND_NBAPP_SHIM_MSG (trait_name , 'MockExtensionApp' )
8970 assert log_msg in log
@@ -99,13 +80,13 @@ def test_EXTAPP_AND_NBAPP_SHIM_MSG(
9980 ])
10081)
10182def test_EXTAPP_AND_SVAPP_SHIM_MSG (
83+ read_app_logs ,
10284 extensionapp ,
103- extapp_log ,
10485 jp_argv ,
10586 trait_name ,
10687 trait_value
10788):
108- log = extapp_log . getvalue ()
89+ log = read_app_logs ()
10990 # Verify a shim warning appeared.
11091 log_msg = shim .EXTAPP_AND_SVAPP_SHIM_MSG (trait_name , 'MockExtensionApp' )
11192 assert log_msg in log
@@ -123,13 +104,13 @@ def test_EXTAPP_AND_SVAPP_SHIM_MSG(
123104 ])
124105)
125106def test_NOT_EXTAPP_NBAPP_AND_SVAPP_SHIM_MSG (
107+ read_app_logs ,
126108 extensionapp ,
127- extapp_log ,
128109 jp_argv ,
129110 trait_name ,
130111 trait_value
131112):
132- log = extapp_log . getvalue ()
113+ log = read_app_logs ()
133114 # Verify a shim warning appeared.
134115 log_msg = shim .NOT_EXTAPP_NBAPP_AND_SVAPP_SHIM_MSG (trait_name , 'MockExtensionApp' )
135116 assert log_msg in log
@@ -144,13 +125,13 @@ def test_NOT_EXTAPP_NBAPP_AND_SVAPP_SHIM_MSG(
144125 ])
145126)
146127def test_EXTAPP_TO_SVAPP_SHIM_MSG (
128+ read_app_logs ,
147129 extensionapp ,
148- extapp_log ,
149130 jp_argv ,
150131 trait_name ,
151132 trait_value
152133):
153- log = extapp_log . getvalue ()
134+ log = read_app_logs ()
154135 # Verify a shim warning appeared.
155136 log_msg = shim .EXTAPP_TO_SVAPP_SHIM_MSG (trait_name , 'MockExtensionApp' )
156137 assert log_msg in log
@@ -166,13 +147,13 @@ def test_EXTAPP_TO_SVAPP_SHIM_MSG(
166147 ])
167148)
168149def test_EXTAPP_TO_NBAPP_SHIM_MSG (
150+ read_app_logs ,
169151 extensionapp ,
170- extapp_log ,
171152 jp_argv ,
172153 trait_name ,
173154 trait_value
174155):
175- log = extapp_log . getvalue ()
156+ log = read_app_logs ()
176157 # Verify a shim warning appeared.
177158 log_msg = shim .EXTAPP_TO_NBAPP_SHIM_MSG (trait_name , 'MockExtensionApp' )
178159 assert log_msg in log
0 commit comments