Skip to content

Commit 547f7d1

Browse files
committed
refactor: format with black and isort
1 parent 7e17e22 commit 547f7d1

File tree

8 files changed

+127
-62
lines changed

8 files changed

+127
-62
lines changed

appmap/_implementation/detect_enabled.py

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55
import importlib
66
import logging
77
import os
8-
98
from textwrap import dedent
109

1110
logger = logging.getLogger(__name__)
1211

12+
1313
class UnrecognizedRecordingMethodException(Exception):
1414
pass
1515

16+
1617
RECORDING_METHODS = ["pytest", "unittest", "remote", "requests"]
1718

1819
# Detects whether AppMap recording should be enabled. This test can be
@@ -59,12 +60,10 @@ def should_enable(cls, recording_method):
5960
message, enabled = cls.detect_should_enable(recording_method)
6061
cls._detected_for_method[recording_method] = enabled
6162
if enabled:
62-
logger.warning(
63-
dedent(f"AppMap recording is enabled because {message}")
64-
)
63+
logger.warning(dedent(f"AppMap recording is enabled because {message}"))
6564
return enabled
6665

67-
@classmethod
66+
@classmethod
6867
def detect_should_enable(cls, recording_method):
6968
if not recording_method:
7069
return ["no recording method is set", False]
@@ -73,21 +72,21 @@ def detect_should_enable(cls, recording_method):
7372
return ["invalid recording method", False]
7473

7574
# explicitly disabled or enabled
76-
if 'APPMAP' in os.environ:
77-
if os.environ['APPMAP'] == 'false':
75+
if "APPMAP" in os.environ:
76+
if os.environ["APPMAP"] == "false":
7877
return ["APPMAP=false", False]
79-
elif os.environ['APPMAP'] == 'true':
78+
elif os.environ["APPMAP"] == "true":
8079
return ["APPMAP=true", True]
8180

8281
# recording method explicitly disabled or enabled
8382
if recording_method:
8483
for one_recording_method in RECORDING_METHODS:
8584
if one_recording_method == recording_method.lower():
86-
env_var = '_'.join([ 'APPMAP', 'RECORD', recording_method.upper() ])
85+
env_var = "_".join(["APPMAP", "RECORD", recording_method.upper()])
8786
if env_var in os.environ:
88-
if os.environ[env_var] == 'false':
87+
if os.environ[env_var] == "false":
8988
return [f"{env_var}=false", False]
90-
elif os.environ[env_var] == 'true':
89+
elif os.environ[env_var] == "true":
9190
return [f"{env_var}=true", True]
9291

9392
# it's flask
@@ -104,35 +103,50 @@ def detect_should_enable(cls, recording_method):
104103

105104
@classmethod
106105
def is_flask_and_should_enable(cls):
107-
if 'FLASK_DEBUG' in os.environ and os.environ['FLASK_DEBUG'] == '1':
106+
if "FLASK_DEBUG" in os.environ and os.environ["FLASK_DEBUG"] == "1":
108107
return [f"FLASK_DEBUG={os.environ['FLASK_DEBUG']}", True]
109108

110-
if 'FLASK_ENV' in os.environ and os.environ['FLASK_ENV'] == 'development':
109+
if "FLASK_ENV" in os.environ and os.environ["FLASK_ENV"] == "development":
111110
return [f"FLASK_ENV={os.environ['FLASK_ENV']}", True]
112111

113112
return ["it is not Flask", False]
114113

115114
@classmethod
116115
def is_django_and_should_enable(cls):
117-
if 'DJANGO_SETTINGS_MODULE' in os.environ and os.environ['DJANGO_SETTINGS_MODULE'] != '':
116+
if (
117+
"DJANGO_SETTINGS_MODULE" in os.environ
118+
and os.environ["DJANGO_SETTINGS_MODULE"] != ""
119+
):
118120
try:
119-
settings = importlib.import_module(os.environ['DJANGO_SETTINGS_MODULE'])
121+
settings = importlib.import_module(os.environ["DJANGO_SETTINGS_MODULE"])
120122
except Exception as exn:
121123
settings = None
122-
return ["couldn't load DJANGO_SETTINGS_MODULE={os.environ['DJANGO_SETTINGS_MODULE']}", False]
124+
return [
125+
"couldn't load DJANGO_SETTINGS_MODULE={os.environ['DJANGO_SETTINGS_MODULE']}",
126+
False,
127+
]
123128

124129
if settings:
125130
try:
126131
if settings.DEBUG == True:
127-
return [f"{os.environ['DJANGO_SETTINGS_MODULE']}.DEBUG={settings.DEBUG}", True]
132+
return [
133+
f"{os.environ['DJANGO_SETTINGS_MODULE']}.DEBUG={settings.DEBUG}",
134+
True,
135+
]
128136
except Exception as exn:
129137
# it wasn't set. it's ok
130138
pass
131139

132140
if settings:
133141
try:
134-
if settings.APPMAP == True or str(settings.APPMAP).upper() == 'true'.upper():
135-
return [f"{os.environ['DJANGO_SETTINGS_MODULE']}.APPMAP={settings.APPMAP}", True]
142+
if (
143+
settings.APPMAP == True
144+
or str(settings.APPMAP).upper() == "true".upper()
145+
):
146+
return [
147+
f"{os.environ['DJANGO_SETTINGS_MODULE']}.APPMAP={settings.APPMAP}",
148+
True,
149+
]
136150
except Exception as exn:
137151
# it wasn't set. it's ok
138152
pass

appmap/_implementation/testing_framework.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Shared infrastructure for testing framework integration."""
22

3-
import re
43
import os
4+
import re
55
from contextlib import contextmanager
66

77
import inflection
@@ -146,11 +146,13 @@ def collect_result_metadata(metadata):
146146
metadata["exception"] = {"class": exn.__class__.__name__, "message": str(exn)}
147147
raise
148148

149+
149150
def file_write(filename, contents):
150151
f = open(filename, "w")
151152
f.write(contents)
152153
f.close()
153154

155+
154156
def file_delete(filename):
155157
try:
156158
os.remove(filename)

appmap/_implementation/web_framework.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,13 +130,10 @@ def create_appmap_file(
130130

131131

132132
class AppmapMiddleware:
133-
134133
def __init__(self):
135134
self.record_url = "/_appmap/record"
136135

137-
def before_request_hook(
138-
self, request, request_path, recording_is_running
139-
):
136+
def before_request_hook(self, request, request_path, recording_is_running):
140137
if request_path == self.record_url:
141138
return None, None, None
142139

appmap/test/test_detect_enabled.py

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,14 @@
22
Test detecting if AppMap is enabled
33
"""
44
import os
5-
import pytest
65
import unittest
76
from unittest.mock import patch
8-
from appmap._implementation.detect_enabled import DetectEnabled, RECORDING_METHODS
9-
from appmap._implementation.testing_framework import file_write, file_delete
7+
8+
import pytest
9+
10+
from appmap._implementation.detect_enabled import RECORDING_METHODS, DetectEnabled
11+
from appmap._implementation.testing_framework import file_delete, file_write
12+
1013

1114
class TestDetectEnabled:
1215
@staticmethod
@@ -46,25 +49,28 @@ def test_some__appmap_enabled(self):
4649
assert DetectEnabled.should_enable(recording_method) == True
4750

4851
recording_methods_as_true = {
49-
'_'.join([ "APPMAP", "RECORD", recording_method.upper()]): "true"
52+
"_".join(["APPMAP", "RECORD", recording_method.upper()]): "true"
5053
for recording_method in RECORDING_METHODS
5154
}
55+
5256
@patch.dict(os.environ, recording_methods_as_true)
5357
def test_some__recording_method_enabled(self):
5458
for recording_method in RECORDING_METHODS:
5559
DetectEnabled.initialize()
5660
assert DetectEnabled.should_enable(recording_method) == True
5761

5862
recording_methods_as_false = {
59-
'_'.join([ "APPMAP", "RECORD", recording_method.upper()]): "false"
63+
"_".join(["APPMAP", "RECORD", recording_method.upper()]): "false"
6064
for recording_method in RECORDING_METHODS
6165
}
66+
6267
@patch.dict(os.environ, recording_methods_as_false)
6368
def test_some__recording_method_disabled(self):
6469
for recording_method in RECORDING_METHODS:
6570
DetectEnabled.initialize()
6671
assert DetectEnabled.should_enable(recording_method) == False
6772

73+
6874
class TestDetectEnabledFlask:
6975
@staticmethod
7076
def setup_method():
@@ -99,8 +105,8 @@ def test__flask_env_development(self):
99105
DetectEnabled.initialize()
100106
assert DetectEnabled.should_enable("requests") == True
101107

102-
class TestDetectEnabledDjango:
103108

109+
class TestDetectEnabledDjango:
104110
@staticmethod
105111
def setup_method():
106112
DetectEnabled.clear_cache()
@@ -109,8 +115,17 @@ def test__none(self):
109115
DetectEnabled.initialize()
110116
assert DetectEnabled.should_enable(None) == False
111117

112-
def driver(self, data_dir, monkeypatch, django_settings_module, basename_settings, extra_settings_content, expected):
113-
settings_content = """
118+
def driver(
119+
self,
120+
data_dir,
121+
monkeypatch,
122+
django_settings_module,
123+
basename_settings,
124+
extra_settings_content,
125+
expected,
126+
):
127+
settings_content = (
128+
"""
114129
# If the SECRET_KEY isn't defined we get the misleading error message
115130
# CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False.
116131
SECRET_KEY = "3*+d^_kjnr2gz)4q2m(&&^%$p4fj5dk3%lz4pl3g4m-%6!gf&)"
@@ -121,8 +136,11 @@ def driver(self, data_dir, monkeypatch, django_settings_module, basename_setting
121136
122137
MIDDLEWARE = ["appmap.django.Middleware"]
123138
124-
""" + extra_settings_content + """
125139
"""
140+
+ extra_settings_content
141+
+ """
142+
"""
143+
)
126144
monkeypatch.syspath_prepend(data_dir / "django")
127145
monkeypatch.setenv("DJANGO_SETTINGS_MODULE", django_settings_module)
128146
filename = data_dir / "django" / "app" / basename_settings
@@ -141,7 +159,7 @@ def test__debug_false(self, data_dir, monkeypatch):
141159
"app.settings_debug_false",
142160
"settings_debug_false.py",
143161
"DEBUG = False",
144-
False
162+
False,
145163
)
146164

147165
def test__debug_true(self, data_dir, monkeypatch):
@@ -151,7 +169,7 @@ def test__debug_true(self, data_dir, monkeypatch):
151169
"app.settings_debug_true",
152170
"settings_debug_true.py",
153171
"DEBUG = True",
154-
True
172+
True,
155173
)
156174

157175
# note this is APPMAP = False in the settings, not the env
@@ -162,7 +180,7 @@ def test__appmap_false(self, data_dir, monkeypatch):
162180
"app.settings_appmap_false",
163181
"settings_appmap_false.py",
164182
"APPMAP = False",
165-
False
183+
False,
166184
)
167185

168186
def test__appmap_true(self, data_dir, monkeypatch):
@@ -172,5 +190,5 @@ def test__appmap_true(self, data_dir, monkeypatch):
172190
"app.settings_appmap_true",
173191
"settings_appmap_true.py",
174192
"APPMAP = True",
175-
True
193+
True,
176194
)

appmap/test/test_django.py

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,6 @@ def test_middleware_reset(pytester, monkeypatch):
193193

194194

195195
class TestRecordRequestsDjango(TestRecordRequests):
196-
197196
@staticmethod
198197
def server_start_thread(env_vars_str):
199198
exec_cmd(
@@ -202,14 +201,18 @@ def server_start_thread(env_vars_str):
202201
export PYTHONPATH=`pwd`
203202
204203
cd appmap/test/data/django/
205-
""" + env_vars_str + """ python manage.py runserver 127.0.0.1:"""
204+
"""
205+
+ env_vars_str
206+
+ """ python manage.py runserver 127.0.0.1:"""
206207
+ str(TestRecordRequests.server_port)
207208
)
208209

209210
@staticmethod
210211
def server_start(env_vars_str):
211212
# start as background thread so running the tests can continue
212-
thread = Thread(target=TestRecordRequestsDjango.server_start_thread, args=(env_vars_str,))
213+
thread = Thread(
214+
target=TestRecordRequestsDjango.server_start_thread, args=(env_vars_str,)
215+
)
213216
thread.start()
214217
wait_until_port_is("127.0.0.1", TestRecordRequests.server_port, "open")
215218

@@ -220,30 +223,42 @@ def server_stop():
220223
)
221224
wait_until_port_is("127.0.0.1", TestRecordRequests.server_port, "closed")
222225

223-
@pytest.mark.skipif(True, reason="don't pass until _EventIds stops producing duplicate ids")
226+
@pytest.mark.skipif(
227+
True, reason="don't pass until _EventIds stops producing duplicate ids"
228+
)
224229
def test_record_request_appmap_enabled_requests_enabled_no_remote(client, events):
225230
TestRecordRequestsDjango.server_stop() # ensure it's not running
226231
TestRecordRequestsDjango.server_start("APPMAP=true APPMAP_RECORD_REQUESTS=true")
227232
TestRecordRequests.record_request(client, events, False)
228233
TestRecordRequestsDjango.server_stop()
229234

230-
@pytest.mark.skipif(True, reason="don't pass until _EventIds stops producing duplicate ids")
235+
@pytest.mark.skipif(
236+
True, reason="don't pass until _EventIds stops producing duplicate ids"
237+
)
231238
def test_record_request_appmap_enabled_requests_enabled_and_remote(client, events):
232239
TestRecordRequestsDjango.server_stop() # ensure it's not running
233240
TestRecordRequestsDjango.server_start("APPMAP=true APPMAP_RECORD_REQUESTS=true")
234241
TestRecordRequests.record_request(client, events, True)
235242
TestRecordRequestsDjango.server_stop()
236243

237244
# not enabled means APPMAP isn't set. This isn't the same as APPMAP=false.
238-
@pytest.mark.skipif(True, reason="don't pass until _EventIds stops producing duplicate ids")
239-
def test_record_request_appmap_not_enabled_requests_enabled_no_remote(client, events):
245+
@pytest.mark.skipif(
246+
True, reason="don't pass until _EventIds stops producing duplicate ids"
247+
)
248+
def test_record_request_appmap_not_enabled_requests_enabled_no_remote(
249+
client, events
250+
):
240251
TestRecordRequestsDjango.server_stop() # ensure it's not running
241252
TestRecordRequestsDjango.server_start("APPMAP_RECORD_REQUESTS=true")
242253
TestRecordRequests.record_request(client, events, False)
243254
TestRecordRequestsDjango.server_stop()
244255

245-
@pytest.mark.skipif(True, reason="don't pass until _EventIds stops producing duplicate ids")
246-
def test_record_request_appmap_not_enabled_requests_enabled_and_remote(client, events):
256+
@pytest.mark.skipif(
257+
True, reason="don't pass until _EventIds stops producing duplicate ids"
258+
)
259+
def test_record_request_appmap_not_enabled_requests_enabled_and_remote(
260+
client, events
261+
):
247262
TestRecordRequestsDjango.server_stop() # ensure it's not running
248263
TestRecordRequestsDjango.server_start("APPMAP_RECORD_REQUESTS=true")
249264
TestRecordRequests.record_request(client, events, True)

0 commit comments

Comments
 (0)