appmap 0.28.1 → 0.34.1

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -1
  3. data/README.md +54 -2
  4. data/Rakefile +1 -1
  5. data/appmap.gemspec +2 -0
  6. data/lib/appmap.rb +25 -14
  7. data/lib/appmap/class_map.rb +25 -27
  8. data/lib/appmap/config.rb +115 -0
  9. data/lib/appmap/cucumber.rb +19 -2
  10. data/lib/appmap/event.rb +25 -16
  11. data/lib/appmap/hook.rb +89 -139
  12. data/lib/appmap/hook/method.rb +83 -0
  13. data/lib/appmap/metadata.rb +1 -1
  14. data/lib/appmap/minitest.rb +141 -0
  15. data/lib/appmap/open.rb +57 -0
  16. data/lib/appmap/rails/action_handler.rb +7 -7
  17. data/lib/appmap/rails/sql_handler.rb +10 -8
  18. data/lib/appmap/record.rb +27 -0
  19. data/lib/appmap/rspec.rb +2 -2
  20. data/lib/appmap/trace.rb +16 -8
  21. data/lib/appmap/util.rb +19 -0
  22. data/lib/appmap/version.rb +1 -1
  23. data/spec/abstract_controller4_base_spec.rb +1 -1
  24. data/spec/abstract_controller_base_spec.rb +9 -2
  25. data/spec/config_spec.rb +3 -3
  26. data/spec/fixtures/hook/compare.rb +7 -0
  27. data/spec/fixtures/hook/instance_method.rb +4 -0
  28. data/spec/hook_spec.rb +222 -37
  29. data/spec/open_spec.rb +19 -0
  30. data/spec/record_sql_rails_pg_spec.rb +56 -33
  31. data/spec/util_spec.rb +1 -1
  32. data/test/cli_test.rb +12 -2
  33. data/test/fixtures/minitest_recorder/Gemfile +5 -0
  34. data/test/fixtures/minitest_recorder/appmap.yml +3 -0
  35. data/test/fixtures/minitest_recorder/lib/hello.rb +5 -0
  36. data/test/fixtures/minitest_recorder/test/hello_test.rb +12 -0
  37. data/test/fixtures/openssl_recorder/Gemfile +3 -0
  38. data/test/fixtures/openssl_recorder/appmap.yml +3 -0
  39. data/test/fixtures/openssl_recorder/lib/openssl_cert_sign.rb +94 -0
  40. data/test/fixtures/openssl_recorder/lib/openssl_encrypt.rb +34 -0
  41. data/test/fixtures/openssl_recorder/lib/openssl_key_sign.rb +28 -0
  42. data/test/fixtures/process_recorder/appmap.yml +3 -0
  43. data/test/fixtures/process_recorder/hello.rb +9 -0
  44. data/test/minitest_test.rb +38 -0
  45. data/test/openssl_test.rb +203 -0
  46. data/test/record_process_test.rb +35 -0
  47. data/test/test_helper.rb +1 -0
  48. metadata +51 -2
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'test_helper'
5
+ require 'English'
6
+
7
+ class RecordProcessTest < Minitest::Test
8
+ def perform_test(program_name)
9
+ Bundler.with_clean_env do
10
+ Dir.chdir 'test/fixtures/process_recorder' do
11
+ FileUtils.rm_rf 'tmp'
12
+ system 'bundle config --local local.appmap ../../..'
13
+ system 'bundle'
14
+ system(%(bundle exec ruby #{program_name}))
15
+
16
+ yield
17
+ end
18
+ end
19
+ end
20
+
21
+ def test_hello
22
+ perform_test 'hello.rb' do
23
+ appmap_file = 'appmap.json'
24
+
25
+ assert File.file?(appmap_file), 'appmap output file does not exist'
26
+ appmap = JSON.parse(File.read(appmap_file))
27
+ assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
28
+ assert_includes appmap.keys, 'metadata'
29
+ metadata = appmap['metadata']
30
+ assert_equal 'process_recorder', metadata['app']
31
+ assert_equal 'record_process', metadata['recorder']['name']
32
+ assert_equal 'ruby', metadata['language']['name']
33
+ end
34
+ end
35
+ end
@@ -2,3 +2,4 @@ $LOAD_PATH.unshift File.expand_path('../lib', __dir__)
2
2
  require 'appmap'
3
3
 
4
4
  require 'minitest/autorun'
5
+ require 'diffy'
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.28.1
4
+ version: 0.34.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Gilpin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-17 00:00:00.000000000 Z
11
+ date: 2020-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -234,6 +248,20 @@ dependencies:
234
248
  - - "~>"
235
249
  - !ruby/object:Gem::Version
236
250
  version: '4.0'
251
+ - !ruby/object:Gem::Dependency
252
+ name: timecop
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
237
265
  description:
238
266
  email:
239
267
  - kgilpin@gmail.com
@@ -269,14 +297,19 @@ files:
269
297
  - lib/appmap/class_map.rb
270
298
  - lib/appmap/command/record.rb
271
299
  - lib/appmap/command/stats.rb
300
+ - lib/appmap/config.rb
272
301
  - lib/appmap/cucumber.rb
273
302
  - lib/appmap/event.rb
274
303
  - lib/appmap/hook.rb
304
+ - lib/appmap/hook/method.rb
275
305
  - lib/appmap/metadata.rb
276
306
  - lib/appmap/middleware/remote_recording.rb
307
+ - lib/appmap/minitest.rb
308
+ - lib/appmap/open.rb
277
309
  - lib/appmap/rails/action_handler.rb
278
310
  - lib/appmap/rails/sql_handler.rb
279
311
  - lib/appmap/railtie.rb
312
+ - lib/appmap/record.rb
280
313
  - lib/appmap/rspec.rb
281
314
  - lib/appmap/trace.rb
282
315
  - lib/appmap/util.rb
@@ -304,6 +337,7 @@ files:
304
337
  - spec/abstract_controller_base_spec.rb
305
338
  - spec/config_spec.rb
306
339
  - spec/fixtures/hook/attr_accessor.rb
340
+ - spec/fixtures/hook/compare.rb
307
341
  - spec/fixtures/hook/constructor.rb
308
342
  - spec/fixtures/hook/exception_method.rb
309
343
  - spec/fixtures/hook/instance_method.rb
@@ -452,6 +486,7 @@ files:
452
486
  - spec/fixtures/rails_users_app/spec/spec_helper.rb
453
487
  - spec/fixtures/rails_users_app/users_app/.gitignore
454
488
  - spec/hook_spec.rb
489
+ - spec/open_spec.rb
455
490
  - spec/rails_spec_helper.rb
456
491
  - spec/railtie_spec.rb
457
492
  - spec/record_sql_rails4_pg_spec.rb
@@ -478,12 +513,26 @@ files:
478
513
  - test/fixtures/cucumber_recorder/features/support/hooks.rb
479
514
  - test/fixtures/cucumber_recorder/features/support/steps.rb
480
515
  - test/fixtures/cucumber_recorder/lib/hello.rb
516
+ - test/fixtures/minitest_recorder/Gemfile
517
+ - test/fixtures/minitest_recorder/appmap.yml
518
+ - test/fixtures/minitest_recorder/lib/hello.rb
519
+ - test/fixtures/minitest_recorder/test/hello_test.rb
520
+ - test/fixtures/openssl_recorder/Gemfile
521
+ - test/fixtures/openssl_recorder/appmap.yml
522
+ - test/fixtures/openssl_recorder/lib/openssl_cert_sign.rb
523
+ - test/fixtures/openssl_recorder/lib/openssl_encrypt.rb
524
+ - test/fixtures/openssl_recorder/lib/openssl_key_sign.rb
525
+ - test/fixtures/process_recorder/appmap.yml
526
+ - test/fixtures/process_recorder/hello.rb
481
527
  - test/fixtures/rspec_recorder/Gemfile
482
528
  - test/fixtures/rspec_recorder/appmap.yml
483
529
  - test/fixtures/rspec_recorder/lib/hello.rb
484
530
  - test/fixtures/rspec_recorder/spec/decorated_hello_spec.rb
485
531
  - test/fixtures/rspec_recorder/spec/labeled_hello_spec.rb
486
532
  - test/fixtures/rspec_recorder/spec/plain_hello_spec.rb
533
+ - test/minitest_test.rb
534
+ - test/openssl_test.rb
535
+ - test/record_process_test.rb
487
536
  - test/rspec_test.rb
488
537
  - test/test_helper.rb
489
538
  homepage: https://github.com/applandinc/appmap-ruby