Skip to content

Commit 1ccea7b

Browse files
committed
feat: Don't auto-enable requests recording in 'test'
1 parent ee4c457 commit 1ccea7b

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

lib/appmap/detect_enabled.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,16 @@ def enabled?
3030
@@detected_for_method[@recording_method] = enabled
3131

3232
if @recording_method
33-
if enabled
33+
if enabled && enabled_by_app_env?
3434
warn AppMap::Util.color("AppMap #{@recording_method.nil? ? '' : "#{@recording_method} "}recording is enabled because #{message}", :magenta)
35-
# Inform the user that legacy APPMAP=true isn't required any more
3635
end
3736
end
3837

3938
enabled
4039
end
4140

4241
def detect_enabled
43-
detection_functions = %i[globally_disabled? recording_method_disabled? globally_enabled? recording_method_enabled? enabled_by_app_env?]
42+
detection_functions = %i[globally_disabled? recording_method_disabled? enabled_by_app_env? recording_method_enabled? globally_enabled?]
4443

4544
message, enabled = []
4645
while enabled.nil? && !detection_functions.empty?
@@ -57,7 +56,7 @@ def detect_enabled
5756

5857
def enabled_by_app_env?
5958
env_name, app_env = detect_app_env
60-
if %i[rspec minitest].member?(@recording_method)
59+
if %i[rspec minitest cucumber].member?(@recording_method)
6160
return [ "#{env_name} is '#{app_env}'", true ] if app_env == 'test'
6261
end
6362

@@ -79,7 +78,10 @@ def detect_app_env
7978
end
8079

8180
def globally_enabled?
82-
[ 'APPMAP=true', true ] if @recording_method.nil? && ['APPMAP'] == 'true'
81+
# Don't auto-enable request recording in the 'test' environment, because users probably don't want
82+
# AppMaps of both test cases and requests. Requests recording can always be enabled by APPMAP_RECORD_REQUESTS=true.
83+
requests_recording_in_test = -> () { [ :requests ].member?(@recording_method) && detect_app_env == 'test' }
84+
[ 'APPMAP=true', true ] if ENV['APPMAP'] == 'true' && !requests_recording_in_test.()
8385
end
8486

8587
def globally_disabled?

spec/detect_enabled_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
end
1919

2020
describe 'recording_method' do
21-
describe 'undefined' do
21+
describe 'nil' do
2222
let(:recording_method) { nil }
2323
it_should_behave_like 'disabled'
2424

@@ -98,7 +98,7 @@
9898
end
9999
end
100100

101-
%w[rspec minitest].each do |test_framework|
101+
%w[rspec minitest cucumber].each do |test_framework|
102102
describe test_framework do
103103
let(:recording_method) { test_framework.to_sym }
104104
it_should_behave_like 'disabled'

0 commit comments

Comments
 (0)