@@ -30,17 +30,16 @@ def enabled?
30
30
@@detected_for_method [ @recording_method ] = enabled
31
31
32
32
if @recording_method
33
- if enabled
33
+ if enabled && enabled_by_app_env?
34
34
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
36
35
end
37
36
end
38
37
39
38
enabled
40
39
end
41
40
42
41
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 ?]
44
43
45
44
message , enabled = [ ]
46
45
while enabled . nil? && !detection_functions . empty?
@@ -57,7 +56,7 @@ def detect_enabled
57
56
58
57
def enabled_by_app_env?
59
58
env_name , app_env = detect_app_env
60
- if %i[ rspec minitest ] . member? ( @recording_method )
59
+ if %i[ rspec minitest cucumber ] . member? ( @recording_method )
61
60
return [ "#{ env_name } is '#{ app_env } '" , true ] if app_env == 'test'
62
61
end
63
62
@@ -79,7 +78,10 @@ def detect_app_env
79
78
end
80
79
81
80
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 . ( )
83
85
end
84
86
85
87
def globally_disabled?
0 commit comments