appmap 0.66.1 → 0.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +2 -0
- data/CHANGELOG.md +45 -0
- data/lib/appmap/builtin_hooks/json.yml +4 -0
- data/lib/appmap/builtin_hooks/net/http.yml +3 -0
- data/lib/appmap/builtin_hooks/openssl.yml +16 -0
- data/lib/appmap/builtin_hooks/yaml.yml +10 -0
- data/lib/appmap/command/agent_setup/validate.rb +8 -1
- data/lib/appmap/command/inspect.rb +0 -1
- data/lib/appmap/config.rb +157 -137
- data/lib/appmap/depends/api.rb +1 -1
- data/lib/appmap/depends/configuration.rb +0 -2
- data/lib/appmap/depends/util.rb +1 -1
- data/lib/appmap/event.rb +6 -2
- data/lib/appmap/gem_hooks/actionpack.yml +40 -0
- data/lib/appmap/gem_hooks/actionview.yml +13 -0
- data/lib/appmap/gem_hooks/activesupport.yml +12 -0
- data/lib/appmap/gem_hooks/cancancan.yml +6 -0
- data/lib/appmap/handler/net_http.rb +14 -12
- data/lib/appmap/handler/rails/request_handler.rb +4 -10
- data/lib/appmap/hook.rb +46 -30
- data/lib/appmap/minitest.rb +1 -0
- data/lib/appmap/rspec.rb +1 -0
- data/lib/appmap/swagger/configuration.rb +2 -0
- data/lib/appmap/util.rb +20 -2
- data/lib/appmap/version.rb +1 -1
- data/lib/appmap.rb +2 -2
- data/spec/config_spec.rb +207 -65
- data/spec/depends/api_spec.rb +3 -3
- data/spec/fixtures/config/missing_path_or_gem.yml +3 -0
- data/spec/rails_recording_spec.rb +1 -1
- data/spec/rails_spec_helper.rb +6 -1
- data/test/agent_setup_validate_test.rb +35 -8
- data/test/fixtures/mocha_mock_app/Gemfile +5 -0
- data/test/fixtures/mocha_mock_app/appmap.yml +5 -0
- data/test/fixtures/mocha_mock_app/lib/sheep.rb +5 -0
- data/test/fixtures/mocha_mock_app/test/sheep_test.rb +18 -0
- data/test/mock_compatibility_test.rb +45 -0
- metadata +17 -3
data/spec/config_spec.rb
CHANGED
@@ -4,58 +4,7 @@ require 'rails_spec_helper'
|
|
4
4
|
require 'appmap/config'
|
5
5
|
|
6
6
|
describe AppMap::Config, docker: false do
|
7
|
-
it 'loads
|
8
|
-
config_data = {
|
9
|
-
exclude: [],
|
10
|
-
name: 'test',
|
11
|
-
packages: [
|
12
|
-
{
|
13
|
-
path: 'path-1'
|
14
|
-
},
|
15
|
-
{
|
16
|
-
path: 'path-2',
|
17
|
-
exclude: [ 'exclude-1' ]
|
18
|
-
}
|
19
|
-
],
|
20
|
-
functions: [
|
21
|
-
{
|
22
|
-
package: 'pkg',
|
23
|
-
class: 'cls',
|
24
|
-
function: 'fn',
|
25
|
-
label: 'lbl'
|
26
|
-
}
|
27
|
-
]
|
28
|
-
}.deep_stringify_keys!
|
29
|
-
config = AppMap::Config.load(config_data)
|
30
|
-
|
31
|
-
config_expectation = {
|
32
|
-
exclude: [],
|
33
|
-
name: 'test',
|
34
|
-
packages: [
|
35
|
-
{
|
36
|
-
path: 'path-1',
|
37
|
-
handler_class: 'AppMap::Handler::Function'
|
38
|
-
},
|
39
|
-
{
|
40
|
-
path: 'path-2',
|
41
|
-
handler_class: 'AppMap::Handler::Function',
|
42
|
-
exclude: [ 'exclude-1' ]
|
43
|
-
}
|
44
|
-
],
|
45
|
-
functions: [
|
46
|
-
{
|
47
|
-
package: 'pkg',
|
48
|
-
class: 'cls',
|
49
|
-
functions: [ :fn ],
|
50
|
-
labels: ['lbl']
|
51
|
-
}
|
52
|
-
]
|
53
|
-
}.deep_stringify_keys!
|
54
|
-
|
55
|
-
expect(config.to_h.deep_stringify_keys!).to eq(config_expectation)
|
56
|
-
end
|
57
|
-
|
58
|
-
it 'interprets a function in canonical name format' do
|
7
|
+
it 'loads as expected' do
|
59
8
|
config_data = {
|
60
9
|
name: 'test',
|
61
10
|
packages: [],
|
@@ -67,20 +16,212 @@ describe AppMap::Config, docker: false do
|
|
67
16
|
}.deep_stringify_keys!
|
68
17
|
config = AppMap::Config.load(config_data)
|
69
18
|
|
70
|
-
|
71
|
-
|
72
|
-
name:
|
73
|
-
|
74
|
-
|
19
|
+
expect(JSON.parse(JSON.generate(config.as_json))).to eq(JSON.parse(<<~FIXTURE))
|
20
|
+
{
|
21
|
+
"name": "test",
|
22
|
+
"appmap_dir": "tmp/appmap",
|
23
|
+
"packages": [
|
24
|
+
],
|
25
|
+
"swagger_config": {
|
26
|
+
"project_name": null,
|
27
|
+
"project_version": "1.0",
|
28
|
+
"output_dir": "swagger",
|
29
|
+
"description": "Generate Swagger from AppMaps"
|
30
|
+
},
|
31
|
+
"depends_config": {
|
32
|
+
"base_dir": null,
|
33
|
+
"base_branches": [
|
34
|
+
"remotes/origin/main",
|
35
|
+
"remotes/origin/master"
|
36
|
+
],
|
37
|
+
"test_file_patterns": [
|
38
|
+
"spec/**/*_spec.rb",
|
39
|
+
"test/**/*_test.rb"
|
40
|
+
],
|
41
|
+
"dependent_tasks": [
|
42
|
+
"swagger"
|
43
|
+
],
|
44
|
+
"description": "Bring AppMaps up to date with local file modifications, and updated derived data such as Swagger files",
|
45
|
+
"rspec_environment_method": "AppMap::Depends.test_env",
|
46
|
+
"minitest_environment_method": "AppMap::Depends.test_env",
|
47
|
+
"rspec_select_tests_method": "AppMap::Depends.select_rspec_tests",
|
48
|
+
"minitest_select_tests_method": "AppMap::Depends.select_minitest_tests",
|
49
|
+
"rspec_test_command_method": "AppMap::Depends.rspec_test_command",
|
50
|
+
"minitest_test_command_method": "AppMap::Depends.minitest_test_command"
|
51
|
+
},
|
52
|
+
"hook_paths": [
|
53
|
+
"pkg",
|
54
|
+
"#{Gem.loaded_specs['activesupport'].gem_dir}"
|
55
|
+
],
|
56
|
+
"exclude": [
|
57
|
+
],
|
58
|
+
"functions": [
|
75
59
|
{
|
76
|
-
|
77
|
-
|
78
|
-
|
60
|
+
"cls": "cls",
|
61
|
+
"target_methods": {
|
62
|
+
"package": "pkg",
|
63
|
+
"method_names": [
|
64
|
+
"fn"
|
65
|
+
]
|
66
|
+
}
|
79
67
|
}
|
80
|
-
]
|
81
|
-
|
82
|
-
|
83
|
-
|
68
|
+
],
|
69
|
+
"builtin_hooks": {
|
70
|
+
"JSON::Ext::Parser": [
|
71
|
+
{
|
72
|
+
"package": "json",
|
73
|
+
"method_names": [
|
74
|
+
"parse"
|
75
|
+
]
|
76
|
+
}
|
77
|
+
],
|
78
|
+
"JSON::Ext::Generator::State": [
|
79
|
+
{
|
80
|
+
"package": "json",
|
81
|
+
"method_names": [
|
82
|
+
"generate"
|
83
|
+
]
|
84
|
+
}
|
85
|
+
],
|
86
|
+
"Net::HTTP": [
|
87
|
+
{
|
88
|
+
"package": "net/http",
|
89
|
+
"method_names": [
|
90
|
+
"request"
|
91
|
+
]
|
92
|
+
}
|
93
|
+
],
|
94
|
+
"OpenSSL::PKey::PKey": [
|
95
|
+
{
|
96
|
+
"package": "openssl",
|
97
|
+
"method_names": [
|
98
|
+
"sign"
|
99
|
+
]
|
100
|
+
}
|
101
|
+
],
|
102
|
+
"OpenSSL::X509::Request": [
|
103
|
+
{
|
104
|
+
"package": "openssl",
|
105
|
+
"method_names": [
|
106
|
+
"sign"
|
107
|
+
]
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"package": "openssl",
|
111
|
+
"method_names": [
|
112
|
+
"verify"
|
113
|
+
]
|
114
|
+
}
|
115
|
+
],
|
116
|
+
"OpenSSL::X509::Certificate": [
|
117
|
+
{
|
118
|
+
"package": "openssl",
|
119
|
+
"method_names": [
|
120
|
+
"sign"
|
121
|
+
]
|
122
|
+
}
|
123
|
+
],
|
124
|
+
"OpenSSL::PKCS5": [
|
125
|
+
{
|
126
|
+
"package": "openssl",
|
127
|
+
"method_names": [
|
128
|
+
"pbkdf2_hmac"
|
129
|
+
]
|
130
|
+
},
|
131
|
+
{
|
132
|
+
"package": "openssl",
|
133
|
+
"method_names": [
|
134
|
+
"pbkdf2_hmac_sha1"
|
135
|
+
]
|
136
|
+
}
|
137
|
+
],
|
138
|
+
"OpenSSL::Cipher": [
|
139
|
+
{
|
140
|
+
"package": "openssl",
|
141
|
+
"method_names": [
|
142
|
+
"encrypt"
|
143
|
+
]
|
144
|
+
},
|
145
|
+
{
|
146
|
+
"package": "openssl",
|
147
|
+
"method_names": [
|
148
|
+
"decrypt"
|
149
|
+
]
|
150
|
+
}
|
151
|
+
],
|
152
|
+
"Psych": [
|
153
|
+
{
|
154
|
+
"package": "yaml",
|
155
|
+
"method_names": [
|
156
|
+
"load"
|
157
|
+
]
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"package": "yaml",
|
161
|
+
"method_names": [
|
162
|
+
"load_stream"
|
163
|
+
]
|
164
|
+
},
|
165
|
+
{
|
166
|
+
"package": "yaml",
|
167
|
+
"method_names": [
|
168
|
+
"parse"
|
169
|
+
]
|
170
|
+
},
|
171
|
+
{
|
172
|
+
"package": "yaml",
|
173
|
+
"method_names": [
|
174
|
+
"parse_stream"
|
175
|
+
]
|
176
|
+
},
|
177
|
+
{
|
178
|
+
"package": "yaml",
|
179
|
+
"method_names": [
|
180
|
+
"dump"
|
181
|
+
]
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"package": "yaml",
|
185
|
+
"method_names": [
|
186
|
+
"dump_stream"
|
187
|
+
]
|
188
|
+
}
|
189
|
+
]
|
190
|
+
},
|
191
|
+
"gem_hooks": {
|
192
|
+
"cls": [
|
193
|
+
{
|
194
|
+
"package": "pkg",
|
195
|
+
"method_names": [
|
196
|
+
"fn"
|
197
|
+
]
|
198
|
+
}
|
199
|
+
],
|
200
|
+
"ActiveSupport::Callbacks::CallbackSequence": [
|
201
|
+
{
|
202
|
+
"package": "activesupport",
|
203
|
+
"method_names": [
|
204
|
+
"invoke_before"
|
205
|
+
]
|
206
|
+
},
|
207
|
+
{
|
208
|
+
"package": "activesupport",
|
209
|
+
"method_names": [
|
210
|
+
"invoke_after"
|
211
|
+
]
|
212
|
+
}
|
213
|
+
],
|
214
|
+
"ActiveSupport::SecurityUtils": [
|
215
|
+
{
|
216
|
+
"package": "activesupport",
|
217
|
+
"method_names": [
|
218
|
+
"secure_compare"
|
219
|
+
]
|
220
|
+
}
|
221
|
+
]
|
222
|
+
}
|
223
|
+
}
|
224
|
+
FIXTURE
|
84
225
|
end
|
85
226
|
|
86
227
|
context do
|
@@ -94,7 +235,8 @@ describe AppMap::Config, docker: false do
|
|
94
235
|
expect(config.to_h).to eq(YAML.load(<<~CONFIG))
|
95
236
|
:name: appmap-ruby
|
96
237
|
:packages:
|
97
|
-
- :
|
238
|
+
- :name: lib
|
239
|
+
:path: lib
|
98
240
|
:handler_class: AppMap::Handler::Function
|
99
241
|
:shallow: false
|
100
242
|
:functions: []
|
data/spec/depends/api_spec.rb
CHANGED
@@ -93,9 +93,9 @@ describe 'Depends API' do
|
|
93
93
|
|
94
94
|
test_report.clean_appmaps
|
95
95
|
|
96
|
-
expect(File.
|
96
|
+
expect(File.exist?(new_spec_file)).to be_falsey
|
97
97
|
ensure
|
98
|
-
FileUtils.rm_f new_spec_file if File.
|
98
|
+
FileUtils.rm_f new_spec_file if File.exist?(new_spec_file)
|
99
99
|
FileUtils.rm_rf new_spec_file.split('.')[0]
|
100
100
|
end
|
101
101
|
end
|
@@ -104,7 +104,7 @@ describe 'Depends API' do
|
|
104
104
|
describe '.run_tests' do
|
105
105
|
def run_tests
|
106
106
|
Dir.chdir 'spec/fixtures/depends' do
|
107
|
-
api.run_tests([ 'spec/actual_rspec_test.rb', 'test/actual_minitest_test.rb' ], appmap_dir: Pathname.new(
|
107
|
+
api.run_tests([ 'spec/actual_rspec_test.rb', 'test/actual_minitest_test.rb' ], appmap_dir: Pathname.new('.').expand_path.to_s)
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
@@ -58,7 +58,7 @@ describe 'Rails' do
|
|
58
58
|
hash_including(
|
59
59
|
'http_server_response' => hash_including(
|
60
60
|
'status_code' => 201,
|
61
|
-
'
|
61
|
+
'headers' => hash_including('Content-Type' => 'application/json; charset=utf-8'),
|
62
62
|
)
|
63
63
|
)
|
64
64
|
)
|
data/spec/rails_spec_helper.rb
CHANGED
@@ -5,9 +5,14 @@ require 'active_support'
|
|
5
5
|
require 'active_support/core_ext'
|
6
6
|
require 'open3'
|
7
7
|
|
8
|
+
# docker compose v2 replaced the --filter flag with --status
|
9
|
+
PS_CMD=`docker-compose --version` =~ /version v2/ ?
|
10
|
+
"docker-compose ps -q --status running" :
|
11
|
+
"docker-compose ps -q --filter health=healthy"
|
12
|
+
|
8
13
|
def wait_for_container(app_name)
|
9
14
|
start_time = Time.now
|
10
|
-
until
|
15
|
+
until `#{PS_CMD} #{app_name}`.strip != ''
|
11
16
|
elapsed = Time.now - start_time
|
12
17
|
raise "Timeout waiting for container #{app_name} to be ready" if elapsed > 10
|
13
18
|
|
@@ -2,27 +2,40 @@
|
|
2
2
|
|
3
3
|
require 'test_helper'
|
4
4
|
|
5
|
+
schema_path = File.expand_path('../../config-schema.yml', __FILE__)
|
6
|
+
CONFIG_SCHEMA = YAML.safe_load(File.read(schema_path))
|
5
7
|
class AgentSetupValidateTest < Minitest::Test
|
6
8
|
NON_EXISTING_CONFIG_FILENAME = '123.yml'
|
7
9
|
INVALID_YAML_CONFIG_FILENAME = 'spec/fixtures/config/invalid_yaml_config.yml'
|
8
10
|
INVALID_CONFIG_FILENAME = 'spec/fixtures/config/invalid_config.yml'
|
11
|
+
MISSING_PATH_OR_GEM_CONFIG_FILENAME = 'spec/fixtures/config/missing_path_or_gem.yml'
|
9
12
|
|
13
|
+
def check_output(output, expected_errors)
|
14
|
+
expected = JSON.pretty_generate(
|
15
|
+
{
|
16
|
+
version: 2,
|
17
|
+
errors: expected_errors,
|
18
|
+
schema: CONFIG_SCHEMA
|
19
|
+
}
|
20
|
+
)
|
21
|
+
assert_equal(expected, output.strip)
|
22
|
+
end
|
23
|
+
|
10
24
|
def test_init_when_config_exists
|
11
25
|
output = `./exe/appmap-agent-validate`
|
12
26
|
assert_equal 0, $CHILD_STATUS.exitstatus
|
13
|
-
|
27
|
+
check_output(output, [
|
14
28
|
{
|
15
29
|
level: :error,
|
16
30
|
message: 'AppMap auto-configuration is currently not available for non Rails projects'
|
17
31
|
}
|
18
32
|
])
|
19
|
-
assert_equal expected, output.strip
|
20
33
|
end
|
21
34
|
|
22
35
|
def test_init_with_non_existing_config_file
|
23
36
|
output = `./exe/appmap-agent-validate -c #{NON_EXISTING_CONFIG_FILENAME}`
|
24
37
|
assert_equal 0, $CHILD_STATUS.exitstatus
|
25
|
-
|
38
|
+
check_output(output, [
|
26
39
|
{
|
27
40
|
level: :error,
|
28
41
|
message: 'AppMap auto-configuration is currently not available for non Rails projects'
|
@@ -33,13 +46,12 @@ class AgentSetupValidateTest < Minitest::Test
|
|
33
46
|
message: "AppMap configuration #{NON_EXISTING_CONFIG_FILENAME} file does not exist"
|
34
47
|
}
|
35
48
|
])
|
36
|
-
assert_equal expected, output.strip
|
37
49
|
end
|
38
50
|
|
39
51
|
def test_init_with_invalid_YAML
|
40
52
|
output = `./exe/appmap-agent-validate -c #{INVALID_YAML_CONFIG_FILENAME}`
|
41
53
|
assert_equal 0, $CHILD_STATUS.exitstatus
|
42
|
-
|
54
|
+
check_output(output, [
|
43
55
|
{
|
44
56
|
level: :error,
|
45
57
|
message: 'AppMap auto-configuration is currently not available for non Rails projects'
|
@@ -52,13 +64,12 @@ class AgentSetupValidateTest < Minitest::Test
|
|
52
64
|
'did not find expected key while parsing a block mapping at line 1 column 1'
|
53
65
|
}
|
54
66
|
])
|
55
|
-
assert_equal expected, output.strip
|
56
67
|
end
|
57
68
|
|
58
69
|
def test_init_with_invalid_data_config
|
59
70
|
output = `./exe/appmap-agent-validate -c #{INVALID_CONFIG_FILENAME}`
|
60
71
|
assert_equal 0, $CHILD_STATUS.exitstatus
|
61
|
-
|
72
|
+
check_output(output, [
|
62
73
|
{
|
63
74
|
level: :error,
|
64
75
|
message: 'AppMap auto-configuration is currently not available for non Rails projects'
|
@@ -70,6 +81,22 @@ class AgentSetupValidateTest < Minitest::Test
|
|
70
81
|
detailed_message: "no implicit conversion of String into Integer"
|
71
82
|
}
|
72
83
|
])
|
73
|
-
|
84
|
+
end
|
85
|
+
|
86
|
+
def test_init_with_missing_package_key
|
87
|
+
output = `./exe/appmap-agent-validate -c #{MISSING_PATH_OR_GEM_CONFIG_FILENAME}`
|
88
|
+
assert_equal 0, $CHILD_STATUS.exitstatus
|
89
|
+
check_output(output, [
|
90
|
+
{
|
91
|
+
level: :error,
|
92
|
+
message: 'AppMap auto-configuration is currently not available for non Rails projects'
|
93
|
+
},
|
94
|
+
{
|
95
|
+
level: :error,
|
96
|
+
filename: MISSING_PATH_OR_GEM_CONFIG_FILENAME,
|
97
|
+
message: "AppMap configuration #{MISSING_PATH_OR_GEM_CONFIG_FILENAME} could not be loaded",
|
98
|
+
detailed_message: "AppMap config 'package' element should specify 'gem' or 'path'"
|
99
|
+
}
|
100
|
+
])
|
74
101
|
end
|
75
102
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../lib', __dir__)
|
2
|
+
|
3
|
+
require 'minitest/autorun'
|
4
|
+
|
5
|
+
require 'appmap'
|
6
|
+
require 'appmap/minitest' if ENV['APPMAP_AUTOREQUIRE'] == 'false'
|
7
|
+
|
8
|
+
require 'sheep'
|
9
|
+
require 'mocha/minitest'
|
10
|
+
|
11
|
+
class SheepTest < Minitest::Test
|
12
|
+
def test_sheep
|
13
|
+
sheep = mock('sheep')
|
14
|
+
sheep.responds_like(Sheep.new)
|
15
|
+
sheep.expects(:baa).returns('baa')
|
16
|
+
sheep.baa
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
require 'test_helper'
|
5
|
+
|
6
|
+
class MockCompatibilityTest < Minitest::Test
|
7
|
+
def perform_minitest_test(test_name, env = {})
|
8
|
+
Bundler.with_clean_env do
|
9
|
+
Dir.chdir 'test/fixtures/mocha_mock_app' do
|
10
|
+
FileUtils.rm_rf 'tmp'
|
11
|
+
system 'bundle config --local local.appmap ../../..'
|
12
|
+
system 'bundle'
|
13
|
+
system(env.merge({ 'APPMAP' => 'true' }), %(bundle exec ruby -Ilib -Itest test/#{test_name}_test.rb))
|
14
|
+
|
15
|
+
yield
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_expectation
|
21
|
+
perform_minitest_test('sheep') do
|
22
|
+
appmap_file = 'tmp/appmap/minitest/Sheep_sheep.appmap.json'
|
23
|
+
|
24
|
+
assert File.file?(appmap_file), 'appmap output file does not exist'
|
25
|
+
appmap = JSON.parse(File.read(appmap_file))
|
26
|
+
assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
|
27
|
+
assert_includes appmap.keys, 'metadata'
|
28
|
+
metadata = appmap['metadata']
|
29
|
+
assert_equal 'succeeded', metadata['test_status']
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_expectation_without_autorequire
|
34
|
+
perform_minitest_test('sheep', 'APPMAP_AUTOREQUIRE' => 'false') do
|
35
|
+
appmap_file = 'tmp/appmap/minitest/Sheep_sheep.appmap.json'
|
36
|
+
|
37
|
+
assert File.file?(appmap_file), 'appmap output file does not exist'
|
38
|
+
appmap = JSON.parse(File.read(appmap_file))
|
39
|
+
assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
|
40
|
+
assert_includes appmap.keys, 'metadata'
|
41
|
+
metadata = appmap['metadata']
|
42
|
+
assert_equal 'succeeded', metadata['test_status']
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appmap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.68.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Gilpin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -3405,6 +3405,10 @@ files:
|
|
3405
3405
|
- ext/appmap/extconf.rb
|
3406
3406
|
- lib/appmap.rb
|
3407
3407
|
- lib/appmap/agent.rb
|
3408
|
+
- lib/appmap/builtin_hooks/json.yml
|
3409
|
+
- lib/appmap/builtin_hooks/net/http.yml
|
3410
|
+
- lib/appmap/builtin_hooks/openssl.yml
|
3411
|
+
- lib/appmap/builtin_hooks/yaml.yml
|
3408
3412
|
- lib/appmap/class_map.rb
|
3409
3413
|
- lib/appmap/command/agent_setup/init.rb
|
3410
3414
|
- lib/appmap/command/agent_setup/status.rb
|
@@ -3423,6 +3427,10 @@ files:
|
|
3423
3427
|
- lib/appmap/depends/test_runner.rb
|
3424
3428
|
- lib/appmap/depends/util.rb
|
3425
3429
|
- lib/appmap/event.rb
|
3430
|
+
- lib/appmap/gem_hooks/actionpack.yml
|
3431
|
+
- lib/appmap/gem_hooks/actionview.yml
|
3432
|
+
- lib/appmap/gem_hooks/activesupport.yml
|
3433
|
+
- lib/appmap/gem_hooks/cancancan.yml
|
3426
3434
|
- lib/appmap/handler/function.rb
|
3427
3435
|
- lib/appmap/handler/net_http.rb
|
3428
3436
|
- lib/appmap/handler/rails/request_handler.rb
|
@@ -3462,6 +3470,7 @@ files:
|
|
3462
3470
|
- spec/fixtures/config/incomplete_config.yml
|
3463
3471
|
- spec/fixtures/config/invalid_config.yml
|
3464
3472
|
- spec/fixtures/config/invalid_yaml_config.yml
|
3473
|
+
- spec/fixtures/config/missing_path_or_gem.yml
|
3465
3474
|
- spec/fixtures/config/valid_config.yml
|
3466
3475
|
- spec/fixtures/depends/.gitignore
|
3467
3476
|
- spec/fixtures/depends/app/controllers/api/api_keys_controller.rb
|
@@ -3698,6 +3707,10 @@ files:
|
|
3698
3707
|
- test/fixtures/minitest_recorder/appmap.yml
|
3699
3708
|
- test/fixtures/minitest_recorder/lib/hello.rb
|
3700
3709
|
- test/fixtures/minitest_recorder/test/hello_test.rb
|
3710
|
+
- test/fixtures/mocha_mock_app/Gemfile
|
3711
|
+
- test/fixtures/mocha_mock_app/appmap.yml
|
3712
|
+
- test/fixtures/mocha_mock_app/lib/sheep.rb
|
3713
|
+
- test/fixtures/mocha_mock_app/test/sheep_test.rb
|
3701
3714
|
- test/fixtures/openssl_recorder/Gemfile
|
3702
3715
|
- test/fixtures/openssl_recorder/appmap.yml
|
3703
3716
|
- test/fixtures/openssl_recorder/lib/openssl_cert_sign.rb
|
@@ -3714,6 +3727,7 @@ files:
|
|
3714
3727
|
- test/gem_test.rb
|
3715
3728
|
- test/inspect_cli_test.rb
|
3716
3729
|
- test/minitest_test.rb
|
3730
|
+
- test/mock_compatibility_test.rb
|
3717
3731
|
- test/openssl_test.rb
|
3718
3732
|
- test/record_process_test.rb
|
3719
3733
|
- test/rspec_test.rb
|
@@ -3738,7 +3752,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
3738
3752
|
- !ruby/object:Gem::Version
|
3739
3753
|
version: '0'
|
3740
3754
|
requirements: []
|
3741
|
-
rubygems_version: 3.0.
|
3755
|
+
rubygems_version: 3.0.6
|
3742
3756
|
signing_key:
|
3743
3757
|
specification_version: 4
|
3744
3758
|
summary: Record the operation of a Ruby program, using the AppLand 'AppMap' format.
|