appmap 0.39.0 → 0.41.2
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 -16
- data/CHANGELOG.md +28 -2
- data/CONTRIBUTING.md +22 -0
- data/README.md +113 -51
- data/Rakefile +3 -3
- data/lib/appmap/class_map.rb +25 -8
- data/lib/appmap/config.rb +48 -28
- data/lib/appmap/event.rb +14 -4
- data/lib/appmap/hook.rb +18 -3
- data/lib/appmap/hook/method.rb +1 -1
- data/lib/appmap/rails/request_handler.rb +8 -3
- data/lib/appmap/railtie.rb +1 -5
- data/lib/appmap/version.rb +1 -1
- data/spec/abstract_controller_base_spec.rb +2 -2
- data/spec/config_spec.rb +1 -0
- data/spec/fixtures/hook/exclude.rb +15 -0
- data/spec/fixtures/hook/labels.rb +6 -0
- data/spec/fixtures/rails5_users_app/Gemfile +2 -3
- data/spec/fixtures/rails5_users_app/appmap.yml +4 -1
- data/spec/fixtures/rails5_users_app/config/application.rb +2 -0
- data/spec/fixtures/rails5_users_app/docker-compose.yml +3 -0
- data/spec/fixtures/rails6_users_app/Gemfile +2 -3
- data/spec/fixtures/rails6_users_app/appmap.yml +4 -1
- data/spec/fixtures/rails6_users_app/config/application.rb +2 -0
- data/spec/fixtures/rails6_users_app/docker-compose.yml +3 -0
- data/spec/hook_spec.rb +41 -41
- data/spec/record_sql_rails_pg_spec.rb +1 -1
- data/spec/rspec_feature_metadata_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -0
- data/test/fixtures/gem_test/appmap.yml +1 -1
- data/test/fixtures/gem_test/test/parser_test.rb +12 -0
- data/test/gem_test.rb +4 -4
- metadata +6 -69
- data/spec/abstract_controller4_base_spec.rb +0 -66
- data/spec/fixtures/rails4_users_app/.gitignore +0 -13
- data/spec/fixtures/rails4_users_app/.rbenv-gemsets +0 -2
- data/spec/fixtures/rails4_users_app/.ruby-version +0 -1
- data/spec/fixtures/rails4_users_app/Dockerfile +0 -30
- data/spec/fixtures/rails4_users_app/Dockerfile.pg +0 -3
- data/spec/fixtures/rails4_users_app/Gemfile +0 -77
- data/spec/fixtures/rails4_users_app/README.rdoc +0 -28
- data/spec/fixtures/rails4_users_app/Rakefile +0 -6
- data/spec/fixtures/rails4_users_app/app/assets/images/.keep +0 -0
- data/spec/fixtures/rails4_users_app/app/assets/javascripts/application.js +0 -16
- data/spec/fixtures/rails4_users_app/app/assets/stylesheets/application.css +0 -15
- data/spec/fixtures/rails4_users_app/app/controllers/api/users_controller.rb +0 -27
- data/spec/fixtures/rails4_users_app/app/controllers/application_controller.rb +0 -5
- data/spec/fixtures/rails4_users_app/app/controllers/concerns/.keep +0 -0
- data/spec/fixtures/rails4_users_app/app/controllers/health_controller.rb +0 -5
- data/spec/fixtures/rails4_users_app/app/controllers/users_controller.rb +0 -5
- data/spec/fixtures/rails4_users_app/app/helpers/application_helper.rb +0 -2
- data/spec/fixtures/rails4_users_app/app/mailers/.keep +0 -0
- data/spec/fixtures/rails4_users_app/app/models/.keep +0 -0
- data/spec/fixtures/rails4_users_app/app/models/concerns/.keep +0 -0
- data/spec/fixtures/rails4_users_app/app/models/user.rb +0 -18
- data/spec/fixtures/rails4_users_app/app/views/layouts/application.html.haml +0 -7
- data/spec/fixtures/rails4_users_app/app/views/users/index.html.haml +0 -7
- data/spec/fixtures/rails4_users_app/appmap.yml +0 -3
- data/spec/fixtures/rails4_users_app/bin/rails +0 -9
- data/spec/fixtures/rails4_users_app/bin/setup +0 -29
- data/spec/fixtures/rails4_users_app/bin/spring +0 -17
- data/spec/fixtures/rails4_users_app/config.ru +0 -4
- data/spec/fixtures/rails4_users_app/config/application.rb +0 -26
- data/spec/fixtures/rails4_users_app/config/boot.rb +0 -3
- data/spec/fixtures/rails4_users_app/config/database.yml +0 -18
- data/spec/fixtures/rails4_users_app/config/environment.rb +0 -5
- data/spec/fixtures/rails4_users_app/config/environments/development.rb +0 -41
- data/spec/fixtures/rails4_users_app/config/environments/production.rb +0 -79
- data/spec/fixtures/rails4_users_app/config/environments/test.rb +0 -42
- data/spec/fixtures/rails4_users_app/config/initializers/assets.rb +0 -11
- data/spec/fixtures/rails4_users_app/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/fixtures/rails4_users_app/config/initializers/cookies_serializer.rb +0 -3
- data/spec/fixtures/rails4_users_app/config/initializers/filter_parameter_logging.rb +0 -4
- data/spec/fixtures/rails4_users_app/config/initializers/inflections.rb +0 -16
- data/spec/fixtures/rails4_users_app/config/initializers/mime_types.rb +0 -4
- data/spec/fixtures/rails4_users_app/config/initializers/session_store.rb +0 -3
- data/spec/fixtures/rails4_users_app/config/initializers/to_time_preserves_timezone.rb +0 -10
- data/spec/fixtures/rails4_users_app/config/initializers/wrap_parameters.rb +0 -14
- data/spec/fixtures/rails4_users_app/config/locales/en.yml +0 -23
- data/spec/fixtures/rails4_users_app/config/routes.rb +0 -12
- data/spec/fixtures/rails4_users_app/config/secrets.yml +0 -22
- data/spec/fixtures/rails4_users_app/create_app +0 -23
- data/spec/fixtures/rails4_users_app/db/migrate/20191127112304_create_users.rb +0 -10
- data/spec/fixtures/rails4_users_app/db/schema.rb +0 -26
- data/spec/fixtures/rails4_users_app/db/seeds.rb +0 -7
- data/spec/fixtures/rails4_users_app/docker-compose.yml +0 -26
- data/spec/fixtures/rails4_users_app/lib/assets/.keep +0 -0
- data/spec/fixtures/rails4_users_app/lib/tasks/.keep +0 -0
- data/spec/fixtures/rails4_users_app/log/.keep +0 -0
- data/spec/fixtures/rails4_users_app/public/404.html +0 -67
- data/spec/fixtures/rails4_users_app/public/422.html +0 -67
- data/spec/fixtures/rails4_users_app/public/500.html +0 -66
- data/spec/fixtures/rails4_users_app/public/favicon.ico +0 -0
- data/spec/fixtures/rails4_users_app/public/robots.txt +0 -5
- data/spec/fixtures/rails4_users_app/spec/controllers/users_controller_api_spec.rb +0 -49
- data/spec/fixtures/rails4_users_app/spec/rails_helper.rb +0 -95
- data/spec/fixtures/rails4_users_app/spec/spec_helper.rb +0 -96
- data/spec/fixtures/rails4_users_app/test/fixtures/users.yml +0 -9
- data/spec/record_sql_rails4_pg_spec.rb +0 -75
- data/test/fixtures/gem_test/test/to_param_test.rb +0 -14
data/spec/hook_spec.rb
CHANGED
|
@@ -61,6 +61,42 @@ describe 'AppMap class Hooking', docker: false do
|
|
|
61
61
|
AppMap.configuration = nil
|
|
62
62
|
end
|
|
63
63
|
|
|
64
|
+
it 'excludes named classes and methods' do
|
|
65
|
+
load 'spec/fixtures/hook/exclude.rb'
|
|
66
|
+
package = AppMap::Config::Package.build_from_path('spec/fixtures/hook/exclude.rb')
|
|
67
|
+
config = AppMap::Config.new('hook_spec', [ package ], %w[ExcludeTest])
|
|
68
|
+
AppMap.configuration = config
|
|
69
|
+
|
|
70
|
+
expect(config.never_hook?(ExcludeTest.new.method(:instance_method))).to be_truthy
|
|
71
|
+
expect(config.never_hook?(ExcludeTest.method(:cls_method))).to be_truthy
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
it 'parses labels from comments' do
|
|
75
|
+
_, tracer = invoke_test_file 'spec/fixtures/hook/labels.rb' do
|
|
76
|
+
ClassWithLabel.new.fn_with_label
|
|
77
|
+
end
|
|
78
|
+
class_map = AppMap.class_map(tracer.event_methods).to_yaml
|
|
79
|
+
expect(Diffy::Diff.new(<<~YAML, class_map).to_s).to eq('')
|
|
80
|
+
---
|
|
81
|
+
- :name: spec/fixtures/hook/labels.rb
|
|
82
|
+
:type: package
|
|
83
|
+
:children:
|
|
84
|
+
- :name: ClassWithLabel
|
|
85
|
+
:type: class
|
|
86
|
+
:children:
|
|
87
|
+
- :name: fn_with_label
|
|
88
|
+
:type: function
|
|
89
|
+
:location: spec/fixtures/hook/labels.rb:4
|
|
90
|
+
:static: false
|
|
91
|
+
:labels:
|
|
92
|
+
- has-fn-label
|
|
93
|
+
:comment: "# @label has-fn-label\\n"
|
|
94
|
+
:source: |2
|
|
95
|
+
def fn_with_label
|
|
96
|
+
end
|
|
97
|
+
YAML
|
|
98
|
+
end
|
|
99
|
+
|
|
64
100
|
it 'hooks an instance method that takes no arguments' do
|
|
65
101
|
events_yaml = <<~YAML
|
|
66
102
|
---
|
|
@@ -517,24 +553,6 @@ describe 'AppMap class Hooking', docker: false do
|
|
|
517
553
|
events_yaml = <<~YAML
|
|
518
554
|
---
|
|
519
555
|
- :id: 1
|
|
520
|
-
:event: :call
|
|
521
|
-
:defined_class: NoToSMethod
|
|
522
|
-
:method_id: respond_to?
|
|
523
|
-
:path: spec/fixtures/hook/exception_method.rb
|
|
524
|
-
:lineno: 24
|
|
525
|
-
:static: false
|
|
526
|
-
:parameters:
|
|
527
|
-
- :name: :args
|
|
528
|
-
:class: Array
|
|
529
|
-
:value: "[:to_s]"
|
|
530
|
-
:kind: :rest
|
|
531
|
-
:receiver:
|
|
532
|
-
:class: Class
|
|
533
|
-
:value: NoToSMethod
|
|
534
|
-
- :id: 2
|
|
535
|
-
:event: :return
|
|
536
|
-
:parent_id: 1
|
|
537
|
-
- :id: 3
|
|
538
556
|
:event: :call
|
|
539
557
|
:defined_class: NoToSMethod
|
|
540
558
|
:method_id: say_hello
|
|
@@ -545,9 +563,9 @@ describe 'AppMap class Hooking', docker: false do
|
|
|
545
563
|
:receiver:
|
|
546
564
|
:class: Class
|
|
547
565
|
:value: NoToSMethod
|
|
548
|
-
- :id:
|
|
566
|
+
- :id: 2
|
|
549
567
|
:event: :return
|
|
550
|
-
:parent_id:
|
|
568
|
+
:parent_id: 1
|
|
551
569
|
:return_value:
|
|
552
570
|
:class: String
|
|
553
571
|
:value: hello
|
|
@@ -565,24 +583,6 @@ describe 'AppMap class Hooking', docker: false do
|
|
|
565
583
|
events_yaml = <<~YAML
|
|
566
584
|
---
|
|
567
585
|
- :id: 1
|
|
568
|
-
:event: :call
|
|
569
|
-
:defined_class: NoToSMethod
|
|
570
|
-
:method_id: respond_to?
|
|
571
|
-
:path: spec/fixtures/hook/exception_method.rb
|
|
572
|
-
:lineno: 24
|
|
573
|
-
:static: false
|
|
574
|
-
:parameters:
|
|
575
|
-
- :name: :args
|
|
576
|
-
:class: Array
|
|
577
|
-
:value: "[:to_s]"
|
|
578
|
-
:kind: :rest
|
|
579
|
-
:receiver:
|
|
580
|
-
:class: Class
|
|
581
|
-
:value: "*Error inspecting variable*"
|
|
582
|
-
- :id: 2
|
|
583
|
-
:event: :return
|
|
584
|
-
:parent_id: 1
|
|
585
|
-
- :id: 3
|
|
586
586
|
:event: :call
|
|
587
587
|
:defined_class: InspectRaises
|
|
588
588
|
:method_id: say_hello
|
|
@@ -593,9 +593,9 @@ describe 'AppMap class Hooking', docker: false do
|
|
|
593
593
|
:receiver:
|
|
594
594
|
:class: Class
|
|
595
595
|
:value: "*Error inspecting variable*"
|
|
596
|
-
- :id:
|
|
596
|
+
- :id: 2
|
|
597
597
|
:event: :return
|
|
598
|
-
:parent_id:
|
|
598
|
+
:parent_id: 1
|
|
599
599
|
:return_value:
|
|
600
600
|
:class: String
|
|
601
601
|
:value: hello
|
|
@@ -837,7 +837,7 @@ describe 'AppMap class Hooking', docker: false do
|
|
|
837
837
|
entry = cm[1][:children][0][:children][0][:children][0]
|
|
838
838
|
# Sanity check, make sure we got the right one
|
|
839
839
|
expect(entry[:name]).to eq('secure_compare')
|
|
840
|
-
expect(entry[:labels]).to eq(%w[
|
|
840
|
+
expect(entry[:labels]).to eq(%w[provider.secure_compare])
|
|
841
841
|
end
|
|
842
842
|
end
|
|
843
843
|
|
|
@@ -5,7 +5,7 @@ describe 'SQL events' do
|
|
|
5
5
|
around(:each) do |example|
|
|
6
6
|
FileUtils.rm_rf tmpdir
|
|
7
7
|
FileUtils.mkdir_p tmpdir
|
|
8
|
-
cmd = "docker-compose run --rm -e ORM_MODULE=#{orm_module} -e APPMAP=true -v #{File.absolute_path tmpdir}:/app/tmp app ./bin/rspec spec/controllers/users_controller_api_spec.rb:#{test_line_number}"
|
|
8
|
+
cmd = "docker-compose run --rm -e ORM_MODULE=#{orm_module} -e RAILS_ENV=test -e APPMAP=true -v #{File.absolute_path tmpdir}:/app/tmp app ./bin/rspec spec/controllers/users_controller_api_spec.rb:#{test_line_number}"
|
|
9
9
|
run_cmd cmd, chdir: fixture_dir
|
|
10
10
|
|
|
11
11
|
example.run
|
|
@@ -7,7 +7,7 @@ describe 'RSpec feature and feature group metadata' do
|
|
|
7
7
|
around(:each) do |example|
|
|
8
8
|
FileUtils.rm_rf tmpdir
|
|
9
9
|
FileUtils.mkdir_p tmpdir
|
|
10
|
-
cmd = "docker-compose run --rm -e APPMAP=true -v #{File.absolute_path(tmpdir).shellescape}:/app/tmp app ./bin/rspec spec/models/user_spec.rb"
|
|
10
|
+
cmd = "docker-compose run --rm -e RAILS_ENV=test -e APPMAP=true -v #{File.absolute_path(tmpdir).shellescape}:/app/tmp app ./bin/rspec spec/models/user_spec.rb"
|
|
11
11
|
run_cmd cmd, chdir: fixture_dir
|
|
12
12
|
|
|
13
13
|
example.run
|
data/spec/spec_helper.rb
CHANGED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require 'appmap/minitest'
|
|
5
|
+
require 'minitest/autorun'
|
|
6
|
+
require 'parser/current'
|
|
7
|
+
|
|
8
|
+
class ParserTest < ::Minitest::Test
|
|
9
|
+
def test_parser
|
|
10
|
+
Parser::CurrentRuby.parse(File.read(__FILE__))
|
|
11
|
+
end
|
|
12
|
+
end
|
data/test/gem_test.rb
CHANGED
|
@@ -19,14 +19,14 @@ class MinitestTest < Minitest::Test
|
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
def test_record_gem
|
|
22
|
-
perform_gem_test '
|
|
23
|
-
appmap_file = 'tmp/appmap/minitest/
|
|
22
|
+
perform_gem_test 'parser' do
|
|
23
|
+
appmap_file = 'tmp/appmap/minitest/Parser_parser.appmap.json'
|
|
24
24
|
appmap = JSON.parse(File.read(appmap_file))
|
|
25
25
|
events = appmap['events']
|
|
26
26
|
assert_equal 2, events.size
|
|
27
27
|
assert_equal 'call', events.first['event']
|
|
28
|
-
assert_equal '
|
|
29
|
-
assert_equal "#{Gem.loaded_specs['
|
|
28
|
+
assert_equal 'default_parser', events.first['method_id']
|
|
29
|
+
assert_equal "#{Gem.loaded_specs['parser'].gem_dir}/lib/parser/base.rb", events.first['path']
|
|
30
30
|
assert_equal 'return', events.second['event']
|
|
31
31
|
assert_equal 1, events.second['parent_id']
|
|
32
32
|
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.41.2
|
|
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-03-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -319,6 +319,7 @@ files:
|
|
|
319
319
|
- ".rubocop.yml"
|
|
320
320
|
- ".travis.yml"
|
|
321
321
|
- CHANGELOG.md
|
|
322
|
+
- CONTRIBUTING.md
|
|
322
323
|
- Dockerfile.appmap
|
|
323
324
|
- Gemfile
|
|
324
325
|
- LICENSE.txt
|
|
@@ -378,7 +379,6 @@ files:
|
|
|
378
379
|
- lore/public/stylesheets/style.css
|
|
379
380
|
- package-lock.json
|
|
380
381
|
- package.json
|
|
381
|
-
- spec/abstract_controller4_base_spec.rb
|
|
382
382
|
- spec/abstract_controller_base_spec.rb
|
|
383
383
|
- spec/class_map_spec.rb
|
|
384
384
|
- spec/config_spec.rb
|
|
@@ -386,7 +386,9 @@ files:
|
|
|
386
386
|
- spec/fixtures/hook/compare.rb
|
|
387
387
|
- spec/fixtures/hook/constructor.rb
|
|
388
388
|
- spec/fixtures/hook/exception_method.rb
|
|
389
|
+
- spec/fixtures/hook/exclude.rb
|
|
389
390
|
- spec/fixtures/hook/instance_method.rb
|
|
391
|
+
- spec/fixtures/hook/labels.rb
|
|
390
392
|
- spec/fixtures/hook/singleton_method.rb
|
|
391
393
|
- spec/fixtures/rack_users_app/.dockerignore
|
|
392
394
|
- spec/fixtures/rack_users_app/.gitignore
|
|
@@ -396,70 +398,6 @@ files:
|
|
|
396
398
|
- spec/fixtures/rack_users_app/config.ru
|
|
397
399
|
- spec/fixtures/rack_users_app/docker-compose.yml
|
|
398
400
|
- spec/fixtures/rack_users_app/lib/app.rb
|
|
399
|
-
- spec/fixtures/rails4_users_app/.gitignore
|
|
400
|
-
- spec/fixtures/rails4_users_app/.rbenv-gemsets
|
|
401
|
-
- spec/fixtures/rails4_users_app/.ruby-version
|
|
402
|
-
- spec/fixtures/rails4_users_app/Dockerfile
|
|
403
|
-
- spec/fixtures/rails4_users_app/Dockerfile.pg
|
|
404
|
-
- spec/fixtures/rails4_users_app/Gemfile
|
|
405
|
-
- spec/fixtures/rails4_users_app/README.rdoc
|
|
406
|
-
- spec/fixtures/rails4_users_app/Rakefile
|
|
407
|
-
- spec/fixtures/rails4_users_app/app/assets/images/.keep
|
|
408
|
-
- spec/fixtures/rails4_users_app/app/assets/javascripts/application.js
|
|
409
|
-
- spec/fixtures/rails4_users_app/app/assets/stylesheets/application.css
|
|
410
|
-
- spec/fixtures/rails4_users_app/app/controllers/api/users_controller.rb
|
|
411
|
-
- spec/fixtures/rails4_users_app/app/controllers/application_controller.rb
|
|
412
|
-
- spec/fixtures/rails4_users_app/app/controllers/concerns/.keep
|
|
413
|
-
- spec/fixtures/rails4_users_app/app/controllers/health_controller.rb
|
|
414
|
-
- spec/fixtures/rails4_users_app/app/controllers/users_controller.rb
|
|
415
|
-
- spec/fixtures/rails4_users_app/app/helpers/application_helper.rb
|
|
416
|
-
- spec/fixtures/rails4_users_app/app/mailers/.keep
|
|
417
|
-
- spec/fixtures/rails4_users_app/app/models/.keep
|
|
418
|
-
- spec/fixtures/rails4_users_app/app/models/concerns/.keep
|
|
419
|
-
- spec/fixtures/rails4_users_app/app/models/user.rb
|
|
420
|
-
- spec/fixtures/rails4_users_app/app/views/layouts/application.html.haml
|
|
421
|
-
- spec/fixtures/rails4_users_app/app/views/users/index.html.haml
|
|
422
|
-
- spec/fixtures/rails4_users_app/appmap.yml
|
|
423
|
-
- spec/fixtures/rails4_users_app/bin/rails
|
|
424
|
-
- spec/fixtures/rails4_users_app/bin/setup
|
|
425
|
-
- spec/fixtures/rails4_users_app/bin/spring
|
|
426
|
-
- spec/fixtures/rails4_users_app/config.ru
|
|
427
|
-
- spec/fixtures/rails4_users_app/config/application.rb
|
|
428
|
-
- spec/fixtures/rails4_users_app/config/boot.rb
|
|
429
|
-
- spec/fixtures/rails4_users_app/config/database.yml
|
|
430
|
-
- spec/fixtures/rails4_users_app/config/environment.rb
|
|
431
|
-
- spec/fixtures/rails4_users_app/config/environments/development.rb
|
|
432
|
-
- spec/fixtures/rails4_users_app/config/environments/production.rb
|
|
433
|
-
- spec/fixtures/rails4_users_app/config/environments/test.rb
|
|
434
|
-
- spec/fixtures/rails4_users_app/config/initializers/assets.rb
|
|
435
|
-
- spec/fixtures/rails4_users_app/config/initializers/backtrace_silencers.rb
|
|
436
|
-
- spec/fixtures/rails4_users_app/config/initializers/cookies_serializer.rb
|
|
437
|
-
- spec/fixtures/rails4_users_app/config/initializers/filter_parameter_logging.rb
|
|
438
|
-
- spec/fixtures/rails4_users_app/config/initializers/inflections.rb
|
|
439
|
-
- spec/fixtures/rails4_users_app/config/initializers/mime_types.rb
|
|
440
|
-
- spec/fixtures/rails4_users_app/config/initializers/session_store.rb
|
|
441
|
-
- spec/fixtures/rails4_users_app/config/initializers/to_time_preserves_timezone.rb
|
|
442
|
-
- spec/fixtures/rails4_users_app/config/initializers/wrap_parameters.rb
|
|
443
|
-
- spec/fixtures/rails4_users_app/config/locales/en.yml
|
|
444
|
-
- spec/fixtures/rails4_users_app/config/routes.rb
|
|
445
|
-
- spec/fixtures/rails4_users_app/config/secrets.yml
|
|
446
|
-
- spec/fixtures/rails4_users_app/create_app
|
|
447
|
-
- spec/fixtures/rails4_users_app/db/migrate/20191127112304_create_users.rb
|
|
448
|
-
- spec/fixtures/rails4_users_app/db/schema.rb
|
|
449
|
-
- spec/fixtures/rails4_users_app/db/seeds.rb
|
|
450
|
-
- spec/fixtures/rails4_users_app/docker-compose.yml
|
|
451
|
-
- spec/fixtures/rails4_users_app/lib/assets/.keep
|
|
452
|
-
- spec/fixtures/rails4_users_app/lib/tasks/.keep
|
|
453
|
-
- spec/fixtures/rails4_users_app/log/.keep
|
|
454
|
-
- spec/fixtures/rails4_users_app/public/404.html
|
|
455
|
-
- spec/fixtures/rails4_users_app/public/422.html
|
|
456
|
-
- spec/fixtures/rails4_users_app/public/500.html
|
|
457
|
-
- spec/fixtures/rails4_users_app/public/favicon.ico
|
|
458
|
-
- spec/fixtures/rails4_users_app/public/robots.txt
|
|
459
|
-
- spec/fixtures/rails4_users_app/spec/controllers/users_controller_api_spec.rb
|
|
460
|
-
- spec/fixtures/rails4_users_app/spec/rails_helper.rb
|
|
461
|
-
- spec/fixtures/rails4_users_app/spec/spec_helper.rb
|
|
462
|
-
- spec/fixtures/rails4_users_app/test/fixtures/users.yml
|
|
463
401
|
- spec/fixtures/rails5_users_app/.dockerignore
|
|
464
402
|
- spec/fixtures/rails5_users_app/.gitignore
|
|
465
403
|
- spec/fixtures/rails5_users_app/.rspec
|
|
@@ -608,7 +546,6 @@ files:
|
|
|
608
546
|
- spec/open_spec.rb
|
|
609
547
|
- spec/rails_spec_helper.rb
|
|
610
548
|
- spec/railtie_spec.rb
|
|
611
|
-
- spec/record_sql_rails4_pg_spec.rb
|
|
612
549
|
- spec/record_sql_rails_pg_spec.rb
|
|
613
550
|
- spec/remote_recording_spec.rb
|
|
614
551
|
- spec/rspec_feature_metadata_spec.rb
|
|
@@ -636,7 +573,7 @@ files:
|
|
|
636
573
|
- test/fixtures/cucumber_recorder/lib/hello.rb
|
|
637
574
|
- test/fixtures/gem_test/Gemfile
|
|
638
575
|
- test/fixtures/gem_test/appmap.yml
|
|
639
|
-
- test/fixtures/gem_test/test/
|
|
576
|
+
- test/fixtures/gem_test/test/parser_test.rb
|
|
640
577
|
- test/fixtures/minitest_recorder/Gemfile
|
|
641
578
|
- test/fixtures/minitest_recorder/appmap.yml
|
|
642
579
|
- test/fixtures/minitest_recorder/lib/hello.rb
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
require 'rails_spec_helper'
|
|
2
|
-
|
|
3
|
-
describe 'AbstractControllerBase' do
|
|
4
|
-
include_context 'Rails app pg database', 'spec/fixtures/rails4_users_app' do
|
|
5
|
-
around(:each) do |example|
|
|
6
|
-
FileUtils.rm_rf tmpdir
|
|
7
|
-
FileUtils.mkdir_p tmpdir
|
|
8
|
-
cmd = "docker-compose run --rm -e APPMAP=true -v #{File.absolute_path tmpdir}:/app/tmp app ./bin/rspec spec/controllers/users_controller_api_spec.rb:8"
|
|
9
|
-
run_cmd cmd, chdir: fixture_dir
|
|
10
|
-
|
|
11
|
-
example.run
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
let(:tmpdir) { 'tmp/spec/AbstractControllerBase' }
|
|
15
|
-
let(:appmap_json) { File.join(tmpdir, 'appmap/rspec/Api_UsersController_POST_api_users_with_required_parameters_creates_a_user.appmap.json') }
|
|
16
|
-
|
|
17
|
-
describe 'testing with rspec' do
|
|
18
|
-
it 'Message fields are recorded in the appmap' do
|
|
19
|
-
expect(File).to exist(appmap_json)
|
|
20
|
-
appmap = JSON.parse(File.read(appmap_json)).to_yaml
|
|
21
|
-
|
|
22
|
-
expect(appmap).to include(<<-MESSAGE.strip)
|
|
23
|
-
message:
|
|
24
|
-
- name: login
|
|
25
|
-
class: String
|
|
26
|
-
value: alice
|
|
27
|
-
object_id:
|
|
28
|
-
MESSAGE
|
|
29
|
-
|
|
30
|
-
expect(appmap).to include(<<-MESSAGE.strip)
|
|
31
|
-
- name: password
|
|
32
|
-
class: String
|
|
33
|
-
value: "[FILTERED]"
|
|
34
|
-
object_id:
|
|
35
|
-
MESSAGE
|
|
36
|
-
|
|
37
|
-
expect(appmap).to include(<<-SERVER_REQUEST.strip)
|
|
38
|
-
http_server_request:
|
|
39
|
-
request_method: POST
|
|
40
|
-
path_info: "/api/users"
|
|
41
|
-
SERVER_REQUEST
|
|
42
|
-
end
|
|
43
|
-
it 'Properly captures method parameters in the appmap' do
|
|
44
|
-
expect(File).to exist(appmap_json)
|
|
45
|
-
appmap = JSON.parse(File.read(appmap_json)).to_yaml
|
|
46
|
-
|
|
47
|
-
expect(appmap).to match(<<-CREATE_CALL.strip)
|
|
48
|
-
event: call
|
|
49
|
-
thread_id: .*
|
|
50
|
-
defined_class: Api::UsersController
|
|
51
|
-
method_id: build_user
|
|
52
|
-
path: app/controllers/api/users_controller.rb
|
|
53
|
-
lineno: 23
|
|
54
|
-
static: false
|
|
55
|
-
parameters:
|
|
56
|
-
- name: params
|
|
57
|
-
class: Hash
|
|
58
|
-
object_id: .*
|
|
59
|
-
value: '{"login"=>"alice"}'
|
|
60
|
-
kind: req
|
|
61
|
-
receiver:
|
|
62
|
-
CREATE_CALL
|
|
63
|
-
end
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
|
2
|
-
#
|
|
3
|
-
# If you find yourself ignoring temporary files generated by your text editor
|
|
4
|
-
# or operating system, you probably want to add a global ignore instead:
|
|
5
|
-
# git config --global core.excludesfile '~/.gitignore_global'
|
|
6
|
-
|
|
7
|
-
# Ignore bundler config.
|
|
8
|
-
/.bundle
|
|
9
|
-
|
|
10
|
-
# Ignore all logfiles and tempfiles.
|
|
11
|
-
/log/*
|
|
12
|
-
!/log/.keep
|
|
13
|
-
/tmp
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2.5.1
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
ARG GEM_VERSION
|
|
2
|
-
ARG RUBY_VERSION
|
|
3
|
-
|
|
4
|
-
FROM appmap:${GEM_VERSION} as appmap
|
|
5
|
-
|
|
6
|
-
FROM ruby:${RUBY_VERSION}
|
|
7
|
-
RUN apt-get update && apt-get install -y vim less
|
|
8
|
-
RUN apt-get install -y postgresql-client
|
|
9
|
-
|
|
10
|
-
RUN mkdir /app
|
|
11
|
-
WORKDIR /app
|
|
12
|
-
|
|
13
|
-
RUN gem install -v '~> 1.17' -N bundler
|
|
14
|
-
|
|
15
|
-
COPY Gemfile .
|
|
16
|
-
|
|
17
|
-
RUN bundle
|
|
18
|
-
RUN bundle binstubs --force \
|
|
19
|
-
bundler rake rspec-core
|
|
20
|
-
|
|
21
|
-
COPY . .
|
|
22
|
-
|
|
23
|
-
COPY --from=appmap /pkg/appmap.gem /tmp/
|
|
24
|
-
RUN gem install /tmp/appmap.gem && \
|
|
25
|
-
bundle update --local appmap && \
|
|
26
|
-
bundle binstubs appmap --force
|
|
27
|
-
|
|
28
|
-
EXPOSE 3000
|
|
29
|
-
|
|
30
|
-
HEALTHCHECK --interval=1s --retries=10 CMD curl --fail http://localhost:3000/health || exit 1
|