appmap 0.53.0 → 0.54.4
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 +16 -10
- data/CHANGELOG.md +41 -0
- data/Rakefile +13 -4
- data/appmap.gemspec +1 -0
- data/lib/appmap.rb +31 -112
- data/lib/appmap/agent.rb +115 -0
- data/lib/appmap/class_map.rb +2 -2
- data/lib/appmap/config.rb +11 -3
- data/lib/appmap/handler/net_http.rb +3 -2
- data/lib/appmap/handler/rails/request_handler.rb +2 -1
- data/lib/appmap/handler/rails/template.rb +2 -1
- data/lib/appmap/hook.rb +7 -3
- data/lib/appmap/hook/method.rb +36 -28
- data/lib/appmap/metadata.rb +4 -2
- data/lib/appmap/minitest.rb +2 -0
- data/lib/appmap/railtie.rb +2 -2
- data/lib/appmap/rspec.rb +5 -3
- data/lib/appmap/swagger.rb +2 -0
- data/lib/appmap/swagger/configuration.rb +70 -0
- data/lib/appmap/swagger/markdown_descriptions.rb +43 -0
- data/lib/appmap/swagger/rake_tasks.rb +43 -0
- data/lib/appmap/swagger/stable.rb +37 -0
- data/lib/appmap/trace.rb +2 -0
- data/lib/appmap/util.rb +17 -1
- data/lib/appmap/version.rb +1 -1
- data/package.json +0 -1
- data/release.sh +0 -1
- data/spec/config_spec.rb +0 -1
- data/spec/fixtures/hook/.gitignore +2 -0
- data/spec/fixtures/hook/app/controllers/api/api_keys_controller.rb +1 -0
- data/spec/fixtures/hook/app/controllers/organizations_controller.rb +1 -0
- data/spec/fixtures/hook/app/models/api_key.rb +1 -0
- data/spec/fixtures/hook/app/models/configuration.rb +1 -0
- data/spec/fixtures/hook/app/models/show.rb +1 -0
- data/spec/fixtures/hook/app/models/user.rb +1 -0
- data/spec/fixtures/hook/kwargs.rb +11 -0
- data/spec/fixtures/hook/revoke_api_key.appmap.json +847 -0
- data/spec/fixtures/hook/spec/api_spec.rb +1 -0
- data/spec/fixtures/hook/spec/user_spec.rb +1 -0
- data/spec/fixtures/hook/user_page_scenario.appmap.json +1722 -0
- data/spec/fixtures/rails5_users_app/config/environments/test.rb +3 -0
- data/spec/fixtures/rails6_users_app/Dockerfile +0 -1
- data/spec/fixtures/rails6_users_app/appmap.yml +3 -1
- data/spec/fixtures/rails6_users_app/config/environments/test.rb +3 -0
- data/spec/fixtures/rails6_users_app/lib/tasks/appmap.rake +13 -0
- data/spec/hook_spec.rb +9 -0
- data/spec/rails_recording_spec.rb +1 -1
- data/spec/record_net_http_spec.rb +1 -0
- data/spec/swagger/swagger_spec.rb +47 -0
- data/test/gem_test.rb +1 -0
- metadata +36 -2
data/spec/hook_spec.rb
CHANGED
@@ -985,4 +985,13 @@ describe 'AppMap class Hooking', docker: false do
|
|
985
985
|
expect(InstanceMethod.new.method(:say_echo).arity).to be(1)
|
986
986
|
end
|
987
987
|
end
|
988
|
+
|
989
|
+
describe 'kwargs handling' do
|
990
|
+
# https://github.com/applandinc/appmap-ruby/issues/153
|
991
|
+
it 'empty hash for **kwrest can be proxied as a regular function argument', github_issue: 153 do
|
992
|
+
invoke_test_file 'spec/fixtures/hook/kwargs.rb' do
|
993
|
+
expect(Kwargs.has_kwrest_calls_no_kwargs(nil, {})).to eq({})
|
994
|
+
end
|
995
|
+
end
|
996
|
+
end
|
988
997
|
end
|
@@ -224,7 +224,7 @@ describe 'Rails' do
|
|
224
224
|
'name' => 'ActionView',
|
225
225
|
'children' => include(hash_including(
|
226
226
|
# Rails 6/5 difference
|
227
|
-
'name' => /^(Template)?Renderer$/,
|
227
|
+
'name' => /^(Template)?Renderer$/,
|
228
228
|
'children' => include(hash_including(
|
229
229
|
'name' => 'render',
|
230
230
|
'labels' => ['mvc.view']
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require_relative '../rails_spec_helper'
|
2
|
+
|
3
|
+
describe 'rake appmap:swagger' do
|
4
|
+
include_context 'Rails app pg database', "spec/fixtures/rails6_users_app" unless use_existing_data?
|
5
|
+
include_context 'rails integration test setup'
|
6
|
+
|
7
|
+
def run_spec(spec_name)
|
8
|
+
cmd = <<~CMD.gsub "\n", ' '
|
9
|
+
docker-compose run --rm -e RAILS_ENV=test -e APPMAP=true
|
10
|
+
-v #{File.absolute_path tmpdir}:/app/tmp app ./bin/rspec #{spec_name}
|
11
|
+
CMD
|
12
|
+
run_cmd cmd, chdir: fixture_dir
|
13
|
+
end
|
14
|
+
|
15
|
+
def generate_swagger
|
16
|
+
cmd = <<~CMD.gsub "\n", ' '
|
17
|
+
docker-compose run --rm -v #{File.absolute_path tmpdir}:/app/tmp app ./bin/rake appmap:swagger
|
18
|
+
CMD
|
19
|
+
run_cmd cmd, chdir: fixture_dir
|
20
|
+
end
|
21
|
+
|
22
|
+
unless use_existing_data?
|
23
|
+
before(:all) do
|
24
|
+
generate_swagger
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
# The swagger-building logic is mostly in the JS code. So what we are really testing here
|
29
|
+
# is the Rails integration - the rake task and integration with the appmap.yml.
|
30
|
+
# And of course the bundling of the JS code by the appmap gem.
|
31
|
+
it 'generates openapi_stable.yml' do
|
32
|
+
swagger = YAML.load(File.read(File.join(tmpdir, 'swagger', 'openapi_stable.yaml'))).deep_symbolize_keys
|
33
|
+
|
34
|
+
expect(swagger).to match(
|
35
|
+
hash_including(
|
36
|
+
openapi: /^\d\.\d\.\d$/,
|
37
|
+
info: {
|
38
|
+
title: 'Usersapp API',
|
39
|
+
version: '1.1.0'
|
40
|
+
},
|
41
|
+
paths: hash_including(
|
42
|
+
:'/api/users' => an_instance_of(Hash)
|
43
|
+
)
|
44
|
+
)
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
data/test/gem_test.rb
CHANGED
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.54.4
|
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-06-
|
11
|
+
date: 2021-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -276,6 +276,20 @@ dependencies:
|
|
276
276
|
- - ">="
|
277
277
|
- !ruby/object:Gem::Version
|
278
278
|
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: webrick
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
type: :development
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '0'
|
279
293
|
description:
|
280
294
|
email:
|
281
295
|
- kgilpin@gmail.com
|
@@ -314,6 +328,7 @@ files:
|
|
314
328
|
- ext/appmap/appmap.c
|
315
329
|
- ext/appmap/extconf.rb
|
316
330
|
- lib/appmap.rb
|
331
|
+
- lib/appmap/agent.rb
|
317
332
|
- lib/appmap/class_map.rb
|
318
333
|
- lib/appmap/command/agent_setup/init.rb
|
319
334
|
- lib/appmap/command/inspect.rb
|
@@ -337,6 +352,11 @@ files:
|
|
337
352
|
- lib/appmap/record.rb
|
338
353
|
- lib/appmap/rspec.rb
|
339
354
|
- lib/appmap/service/guesser.rb
|
355
|
+
- lib/appmap/swagger.rb
|
356
|
+
- lib/appmap/swagger/configuration.rb
|
357
|
+
- lib/appmap/swagger/markdown_descriptions.rb
|
358
|
+
- lib/appmap/swagger/rake_tasks.rb
|
359
|
+
- lib/appmap/swagger/stable.rb
|
340
360
|
- lib/appmap/trace.rb
|
341
361
|
- lib/appmap/util.rb
|
342
362
|
- lib/appmap/version.rb
|
@@ -344,6 +364,13 @@ files:
|
|
344
364
|
- release.sh
|
345
365
|
- spec/class_map_spec.rb
|
346
366
|
- spec/config_spec.rb
|
367
|
+
- spec/fixtures/hook/.gitignore
|
368
|
+
- spec/fixtures/hook/app/controllers/api/api_keys_controller.rb
|
369
|
+
- spec/fixtures/hook/app/controllers/organizations_controller.rb
|
370
|
+
- spec/fixtures/hook/app/models/api_key.rb
|
371
|
+
- spec/fixtures/hook/app/models/configuration.rb
|
372
|
+
- spec/fixtures/hook/app/models/show.rb
|
373
|
+
- spec/fixtures/hook/app/models/user.rb
|
347
374
|
- spec/fixtures/hook/attr_accessor.rb
|
348
375
|
- spec/fixtures/hook/compare.rb
|
349
376
|
- spec/fixtures/hook/constructor.rb
|
@@ -351,9 +378,14 @@ files:
|
|
351
378
|
- spec/fixtures/hook/exception_method.rb
|
352
379
|
- spec/fixtures/hook/exclude.rb
|
353
380
|
- spec/fixtures/hook/instance_method.rb
|
381
|
+
- spec/fixtures/hook/kwargs.rb
|
354
382
|
- spec/fixtures/hook/labels.rb
|
355
383
|
- spec/fixtures/hook/method_named_call.rb
|
384
|
+
- spec/fixtures/hook/revoke_api_key.appmap.json
|
356
385
|
- spec/fixtures/hook/singleton_method.rb
|
386
|
+
- spec/fixtures/hook/spec/api_spec.rb
|
387
|
+
- spec/fixtures/hook/spec/user_spec.rb
|
388
|
+
- spec/fixtures/hook/user_page_scenario.appmap.json
|
357
389
|
- spec/fixtures/rack_users_app/.dockerignore
|
358
390
|
- spec/fixtures/rack_users_app/.gitignore
|
359
391
|
- spec/fixtures/rack_users_app/Dockerfile
|
@@ -496,6 +528,7 @@ files:
|
|
496
528
|
- spec/fixtures/rails6_users_app/features/support/hooks.rb
|
497
529
|
- spec/fixtures/rails6_users_app/features/support/steps.rb
|
498
530
|
- spec/fixtures/rails6_users_app/lib/tasks/.keep
|
531
|
+
- spec/fixtures/rails6_users_app/lib/tasks/appmap.rake
|
499
532
|
- spec/fixtures/rails6_users_app/log/.keep
|
500
533
|
- spec/fixtures/rails6_users_app/public/robots.txt
|
501
534
|
- spec/fixtures/rails6_users_app/spec/controllers/users_controller_api_spec.rb
|
@@ -513,6 +546,7 @@ files:
|
|
513
546
|
- spec/record_sql_rails_pg_spec.rb
|
514
547
|
- spec/remote_recording_spec.rb
|
515
548
|
- spec/spec_helper.rb
|
549
|
+
- spec/swagger/swagger_spec.rb
|
516
550
|
- spec/util_spec.rb
|
517
551
|
- test/agent_setup_init_test.rb
|
518
552
|
- test/bundle_vendor_test.rb
|