appmap 0.83.4 → 0.84.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/main.yml +16 -0
  3. data/CHANGELOG.md +33 -0
  4. data/appmap.gemspec +3 -2
  5. data/lib/appmap/agent.rb +6 -0
  6. data/lib/appmap/{gem_hooks → builtin_hooks}/activesupport.yml +6 -0
  7. data/lib/appmap/builtin_hooks/net/http.yml +1 -1
  8. data/lib/appmap/builtin_hooks/openssl.yml +34 -0
  9. data/lib/appmap/builtin_hooks/ruby.yml +1 -1
  10. data/lib/appmap/config.rb +3 -3
  11. data/lib/appmap/event.rb +2 -2
  12. data/lib/appmap/gem_hooks/actionpack.yml +2 -0
  13. data/lib/appmap/gem_hooks/random.yml +12 -0
  14. data/lib/appmap/handler/{eval.rb → eval_handler.rb} +4 -4
  15. data/lib/appmap/handler/{function.rb → function_handler.rb} +1 -1
  16. data/lib/appmap/handler/{net_http.rb → net_http_handler.rb} +3 -3
  17. data/lib/appmap/handler/open_ssl_handler.rb +16 -0
  18. data/lib/appmap/handler/rails/render_handler.rb +2 -2
  19. data/lib/appmap/handler/rails/template.rb +2 -2
  20. data/lib/appmap/hook/method.rb +1 -1
  21. data/lib/appmap/trace.rb +1 -1
  22. data/lib/appmap/util.rb +1 -0
  23. data/lib/appmap/version.rb +1 -1
  24. data/lib/appmap.rb +0 -7
  25. metadata +13 -361
  26. data/spec/class_map_spec.rb +0 -28
  27. data/spec/config_spec.rb +0 -155
  28. data/spec/depends/api_spec.rb +0 -196
  29. data/spec/depends/spec_helper.rb +0 -18
  30. data/spec/display_string_spec.rb +0 -40
  31. data/spec/fixtures/config/incomplete_config.yml +0 -1
  32. data/spec/fixtures/config/invalid_config.yml +0 -2
  33. data/spec/fixtures/config/invalid_yaml_config.yml +0 -3
  34. data/spec/fixtures/config/maximal_config.yml +0 -14
  35. data/spec/fixtures/config/missing_path_or_gem.yml +0 -3
  36. data/spec/fixtures/config/valid_config.yml +0 -3
  37. data/spec/fixtures/database.yml +0 -11
  38. data/spec/fixtures/depends/.gitignore +0 -2
  39. data/spec/fixtures/depends/app/controllers/api/api_keys_controller.rb +0 -2
  40. data/spec/fixtures/depends/app/controllers/organizations_controller.rb +0 -2
  41. data/spec/fixtures/depends/app/models/api_key.rb +0 -2
  42. data/spec/fixtures/depends/app/models/configuration.rb +0 -2
  43. data/spec/fixtures/depends/app/models/show.rb +0 -2
  44. data/spec/fixtures/depends/app/models/user.rb +0 -2
  45. data/spec/fixtures/depends/spec/actual_rspec_test.rb +0 -7
  46. data/spec/fixtures/depends/spec/api_spec.rb +0 -2
  47. data/spec/fixtures/depends/spec/user_spec.rb +0 -2
  48. data/spec/fixtures/depends/test/actual_minitest_test.rb +0 -5
  49. data/spec/fixtures/hook/.gitignore +0 -2
  50. data/spec/fixtures/hook/app/controllers/api/api_keys_controller.rb +0 -1
  51. data/spec/fixtures/hook/app/controllers/organizations_controller.rb +0 -1
  52. data/spec/fixtures/hook/app/models/api_key.rb +0 -1
  53. data/spec/fixtures/hook/app/models/configuration.rb +0 -1
  54. data/spec/fixtures/hook/app/models/show.rb +0 -1
  55. data/spec/fixtures/hook/app/models/user.rb +0 -1
  56. data/spec/fixtures/hook/attr_accessor.rb +0 -5
  57. data/spec/fixtures/hook/compare.rb +0 -7
  58. data/spec/fixtures/hook/constructor.rb +0 -7
  59. data/spec/fixtures/hook/custom_instance_method.rb +0 -11
  60. data/spec/fixtures/hook/exception_method.rb +0 -61
  61. data/spec/fixtures/hook/exclude.rb +0 -15
  62. data/spec/fixtures/hook/instance_method.rb +0 -31
  63. data/spec/fixtures/hook/kwargs.rb +0 -11
  64. data/spec/fixtures/hook/labels.rb +0 -6
  65. data/spec/fixtures/hook/method_named_call.rb +0 -11
  66. data/spec/fixtures/hook/pkg_a/a.rb +0 -7
  67. data/spec/fixtures/hook/prepended_override.rb +0 -14
  68. data/spec/fixtures/hook/protected_method.rb +0 -29
  69. data/spec/fixtures/hook/report_parameters.rb +0 -8
  70. data/spec/fixtures/hook/singleton_method.rb +0 -63
  71. data/spec/fixtures/hook/spec/api_spec.rb +0 -1
  72. data/spec/fixtures/hook/spec/user_spec.rb +0 -1
  73. data/spec/fixtures/hook/sub_packages.rb +0 -7
  74. data/spec/fixtures/rack_users_app/.dockerignore +0 -2
  75. data/spec/fixtures/rack_users_app/.gitignore +0 -2
  76. data/spec/fixtures/rack_users_app/Gemfile +0 -10
  77. data/spec/fixtures/rack_users_app/appmap.yml +0 -3
  78. data/spec/fixtures/rack_users_app/config.ru +0 -2
  79. data/spec/fixtures/rack_users_app/lib/app.rb +0 -36
  80. data/spec/fixtures/rails5_users_app/.dockerignore +0 -1
  81. data/spec/fixtures/rails5_users_app/.gitignore +0 -39
  82. data/spec/fixtures/rails5_users_app/.rspec +0 -1
  83. data/spec/fixtures/rails5_users_app/.ruby-version +0 -1
  84. data/spec/fixtures/rails5_users_app/Gemfile +0 -54
  85. data/spec/fixtures/rails5_users_app/Rakefile +0 -6
  86. data/spec/fixtures/rails5_users_app/app/controllers/api/users_controller.rb +0 -29
  87. data/spec/fixtures/rails5_users_app/app/controllers/application_controller.rb +0 -2
  88. data/spec/fixtures/rails5_users_app/app/controllers/concerns/.keep +0 -0
  89. data/spec/fixtures/rails5_users_app/app/controllers/health_controller.rb +0 -5
  90. data/spec/fixtures/rails5_users_app/app/controllers/users_controller.rb +0 -21
  91. data/spec/fixtures/rails5_users_app/app/models/activerecord/user.rb +0 -18
  92. data/spec/fixtures/rails5_users_app/app/models/concerns/.keep +0 -0
  93. data/spec/fixtures/rails5_users_app/app/models/sequel/user.rb +0 -25
  94. data/spec/fixtures/rails5_users_app/app/views/layouts/application.html.haml +0 -7
  95. data/spec/fixtures/rails5_users_app/app/views/users/index.html.haml +0 -7
  96. data/spec/fixtures/rails5_users_app/appmap.yml +0 -11
  97. data/spec/fixtures/rails5_users_app/bin/appmap +0 -29
  98. data/spec/fixtures/rails5_users_app/bin/byebug +0 -29
  99. data/spec/fixtures/rails5_users_app/bin/gli +0 -29
  100. data/spec/fixtures/rails5_users_app/bin/htmldiff +0 -29
  101. data/spec/fixtures/rails5_users_app/bin/ldiff +0 -29
  102. data/spec/fixtures/rails5_users_app/bin/nokogiri +0 -29
  103. data/spec/fixtures/rails5_users_app/bin/rackup +0 -29
  104. data/spec/fixtures/rails5_users_app/bin/rails +0 -4
  105. data/spec/fixtures/rails5_users_app/bin/rake +0 -29
  106. data/spec/fixtures/rails5_users_app/bin/rspec +0 -29
  107. data/spec/fixtures/rails5_users_app/bin/ruby-parse +0 -29
  108. data/spec/fixtures/rails5_users_app/bin/ruby-rewrite +0 -29
  109. data/spec/fixtures/rails5_users_app/bin/sequel +0 -29
  110. data/spec/fixtures/rails5_users_app/bin/setup +0 -25
  111. data/spec/fixtures/rails5_users_app/bin/sprockets +0 -29
  112. data/spec/fixtures/rails5_users_app/bin/thor +0 -29
  113. data/spec/fixtures/rails5_users_app/bin/update +0 -25
  114. data/spec/fixtures/rails5_users_app/config/application.rb +0 -45
  115. data/spec/fixtures/rails5_users_app/config/boot.rb +0 -3
  116. data/spec/fixtures/rails5_users_app/config/credentials.yml.enc +0 -1
  117. data/spec/fixtures/rails5_users_app/config/database.yml +0 -1
  118. data/spec/fixtures/rails5_users_app/config/environment.rb +0 -5
  119. data/spec/fixtures/rails5_users_app/config/environments/development.rb +0 -40
  120. data/spec/fixtures/rails5_users_app/config/environments/production.rb +0 -68
  121. data/spec/fixtures/rails5_users_app/config/environments/test.rb +0 -39
  122. data/spec/fixtures/rails5_users_app/config/initializers/application_controller_renderer.rb +0 -8
  123. data/spec/fixtures/rails5_users_app/config/initializers/backtrace_silencers.rb +0 -7
  124. data/spec/fixtures/rails5_users_app/config/initializers/cors.rb +0 -16
  125. data/spec/fixtures/rails5_users_app/config/initializers/filter_parameter_logging.rb +0 -4
  126. data/spec/fixtures/rails5_users_app/config/initializers/inflections.rb +0 -16
  127. data/spec/fixtures/rails5_users_app/config/initializers/mime_types.rb +0 -4
  128. data/spec/fixtures/rails5_users_app/config/initializers/wrap_parameters.rb +0 -9
  129. data/spec/fixtures/rails5_users_app/config/locales/en.yml +0 -33
  130. data/spec/fixtures/rails5_users_app/config/routes.rb +0 -11
  131. data/spec/fixtures/rails5_users_app/config.ru +0 -5
  132. data/spec/fixtures/rails5_users_app/db/migrate/20190728211408_create_users.rb +0 -9
  133. data/spec/fixtures/rails5_users_app/db/schema.rb +0 -23
  134. data/spec/fixtures/rails5_users_app/features/api_users.feature +0 -13
  135. data/spec/fixtures/rails5_users_app/features/support/env.rb +0 -4
  136. data/spec/fixtures/rails5_users_app/features/support/hooks.rb +0 -11
  137. data/spec/fixtures/rails5_users_app/features/support/steps.rb +0 -18
  138. data/spec/fixtures/rails5_users_app/lib/tasks/.keep +0 -0
  139. data/spec/fixtures/rails5_users_app/log/.keep +0 -0
  140. data/spec/fixtures/rails5_users_app/public/robots.txt +0 -1
  141. data/spec/fixtures/rails5_users_app/spec/controllers/users_controller_api_spec.rb +0 -42
  142. data/spec/fixtures/rails5_users_app/spec/controllers/users_controller_spec.rb +0 -27
  143. data/spec/fixtures/rails5_users_app/spec/models/user_spec.rb +0 -29
  144. data/spec/fixtures/rails5_users_app/spec/rails_helper.rb +0 -57
  145. data/spec/fixtures/rails5_users_app/spec/spec_helper.rb +0 -96
  146. data/spec/fixtures/rails5_users_app/users_app/.gitignore +0 -20
  147. data/spec/fixtures/rails6_users_app/.dockerignore +0 -1
  148. data/spec/fixtures/rails6_users_app/.gitignore +0 -39
  149. data/spec/fixtures/rails6_users_app/.rspec +0 -1
  150. data/spec/fixtures/rails6_users_app/Gemfile +0 -28
  151. data/spec/fixtures/rails6_users_app/Rakefile +0 -6
  152. data/spec/fixtures/rails6_users_app/app/controllers/api/users_controller.rb +0 -28
  153. data/spec/fixtures/rails6_users_app/app/controllers/application_controller.rb +0 -2
  154. data/spec/fixtures/rails6_users_app/app/controllers/concerns/.keep +0 -0
  155. data/spec/fixtures/rails6_users_app/app/controllers/health_controller.rb +0 -5
  156. data/spec/fixtures/rails6_users_app/app/controllers/users_controller.rb +0 -21
  157. data/spec/fixtures/rails6_users_app/app/models/activerecord/user.rb +0 -18
  158. data/spec/fixtures/rails6_users_app/app/models/concerns/.keep +0 -0
  159. data/spec/fixtures/rails6_users_app/app/models/sequel/user.rb +0 -25
  160. data/spec/fixtures/rails6_users_app/app/views/layouts/application.html.haml +0 -7
  161. data/spec/fixtures/rails6_users_app/app/views/users/index.html.haml +0 -7
  162. data/spec/fixtures/rails6_users_app/appmap.yml +0 -14
  163. data/spec/fixtures/rails6_users_app/bin/appmap +0 -29
  164. data/spec/fixtures/rails6_users_app/bin/byebug +0 -29
  165. data/spec/fixtures/rails6_users_app/bin/gli +0 -29
  166. data/spec/fixtures/rails6_users_app/bin/htmldiff +0 -29
  167. data/spec/fixtures/rails6_users_app/bin/ldiff +0 -29
  168. data/spec/fixtures/rails6_users_app/bin/nokogiri +0 -29
  169. data/spec/fixtures/rails6_users_app/bin/rackup +0 -29
  170. data/spec/fixtures/rails6_users_app/bin/rails +0 -4
  171. data/spec/fixtures/rails6_users_app/bin/rake +0 -29
  172. data/spec/fixtures/rails6_users_app/bin/rspec +0 -29
  173. data/spec/fixtures/rails6_users_app/bin/ruby-parse +0 -29
  174. data/spec/fixtures/rails6_users_app/bin/ruby-rewrite +0 -29
  175. data/spec/fixtures/rails6_users_app/bin/sequel +0 -29
  176. data/spec/fixtures/rails6_users_app/bin/setup +0 -25
  177. data/spec/fixtures/rails6_users_app/bin/sprockets +0 -29
  178. data/spec/fixtures/rails6_users_app/bin/thor +0 -29
  179. data/spec/fixtures/rails6_users_app/bin/update +0 -25
  180. data/spec/fixtures/rails6_users_app/config/application.rb +0 -45
  181. data/spec/fixtures/rails6_users_app/config/boot.rb +0 -3
  182. data/spec/fixtures/rails6_users_app/config/credentials.yml.enc +0 -1
  183. data/spec/fixtures/rails6_users_app/config/database.yml +0 -1
  184. data/spec/fixtures/rails6_users_app/config/environment.rb +0 -5
  185. data/spec/fixtures/rails6_users_app/config/environments/development.rb +0 -40
  186. data/spec/fixtures/rails6_users_app/config/environments/production.rb +0 -68
  187. data/spec/fixtures/rails6_users_app/config/environments/test.rb +0 -39
  188. data/spec/fixtures/rails6_users_app/config/initializers/application_controller_renderer.rb +0 -8
  189. data/spec/fixtures/rails6_users_app/config/initializers/backtrace_silencers.rb +0 -7
  190. data/spec/fixtures/rails6_users_app/config/initializers/cors.rb +0 -16
  191. data/spec/fixtures/rails6_users_app/config/initializers/filter_parameter_logging.rb +0 -4
  192. data/spec/fixtures/rails6_users_app/config/initializers/inflections.rb +0 -16
  193. data/spec/fixtures/rails6_users_app/config/initializers/mime_types.rb +0 -4
  194. data/spec/fixtures/rails6_users_app/config/initializers/wrap_parameters.rb +0 -9
  195. data/spec/fixtures/rails6_users_app/config/locales/en.yml +0 -33
  196. data/spec/fixtures/rails6_users_app/config/routes.rb +0 -11
  197. data/spec/fixtures/rails6_users_app/config.ru +0 -5
  198. data/spec/fixtures/rails6_users_app/db/migrate/20190728211408_create_users.rb +0 -9
  199. data/spec/fixtures/rails6_users_app/db/schema.rb +0 -23
  200. data/spec/fixtures/rails6_users_app/features/api_users.feature +0 -13
  201. data/spec/fixtures/rails6_users_app/features/support/env.rb +0 -4
  202. data/spec/fixtures/rails6_users_app/features/support/hooks.rb +0 -11
  203. data/spec/fixtures/rails6_users_app/features/support/steps.rb +0 -18
  204. data/spec/fixtures/rails6_users_app/lib/tasks/.keep +0 -0
  205. data/spec/fixtures/rails6_users_app/lib/tasks/appmap.rake +0 -23
  206. data/spec/fixtures/rails6_users_app/log/.keep +0 -0
  207. data/spec/fixtures/rails6_users_app/package.json +0 -8
  208. data/spec/fixtures/rails6_users_app/public/robots.txt +0 -1
  209. data/spec/fixtures/rails6_users_app/spec/controllers/users_controller_api_spec.rb +0 -42
  210. data/spec/fixtures/rails6_users_app/spec/controllers/users_controller_spec.rb +0 -27
  211. data/spec/fixtures/rails6_users_app/spec/models/user_spec.rb +0 -29
  212. data/spec/fixtures/rails6_users_app/spec/rails_helper.rb +0 -57
  213. data/spec/fixtures/rails6_users_app/spec/spec_helper.rb +0 -96
  214. data/spec/fixtures/rails6_users_app/test/controllers/functional_calc_test.rb +0 -10
  215. data/spec/fixtures/rails6_users_app/test/integration/integration_calc_test.rb +0 -12
  216. data/spec/fixtures/rails6_users_app/users_app/.gitignore +0 -20
  217. data/spec/fixtures/rails6_users_app/yarn.lock +0 -2020
  218. data/spec/fixtures/rails7_users_app/.dockerignore +0 -1
  219. data/spec/fixtures/rails7_users_app/.gitattributes +0 -7
  220. data/spec/fixtures/rails7_users_app/.gitignore +0 -31
  221. data/spec/fixtures/rails7_users_app/.rspec +0 -1
  222. data/spec/fixtures/rails7_users_app/Gemfile +0 -75
  223. data/spec/fixtures/rails7_users_app/README.md +0 -24
  224. data/spec/fixtures/rails7_users_app/Rakefile +0 -6
  225. data/spec/fixtures/rails7_users_app/app/assets/config/manifest.js +0 -4
  226. data/spec/fixtures/rails7_users_app/app/assets/images/.keep +0 -0
  227. data/spec/fixtures/rails7_users_app/app/assets/stylesheets/application.css +0 -15
  228. data/spec/fixtures/rails7_users_app/app/channels/application_cable/channel.rb +0 -4
  229. data/spec/fixtures/rails7_users_app/app/channels/application_cable/connection.rb +0 -4
  230. data/spec/fixtures/rails7_users_app/app/controllers/application_controller.rb +0 -2
  231. data/spec/fixtures/rails7_users_app/app/controllers/concerns/.keep +0 -0
  232. data/spec/fixtures/rails7_users_app/app/helpers/application_helper.rb +0 -2
  233. data/spec/fixtures/rails7_users_app/app/javascript/application.js +0 -3
  234. data/spec/fixtures/rails7_users_app/app/javascript/controllers/application.js +0 -9
  235. data/spec/fixtures/rails7_users_app/app/javascript/controllers/hello_controller.js +0 -7
  236. data/spec/fixtures/rails7_users_app/app/javascript/controllers/index.js +0 -11
  237. data/spec/fixtures/rails7_users_app/app/jobs/application_job.rb +0 -7
  238. data/spec/fixtures/rails7_users_app/app/mailers/application_mailer.rb +0 -4
  239. data/spec/fixtures/rails7_users_app/app/models/application_record.rb +0 -3
  240. data/spec/fixtures/rails7_users_app/app/models/concerns/.keep +0 -0
  241. data/spec/fixtures/rails7_users_app/app/models/instance.rb +0 -7
  242. data/spec/fixtures/rails7_users_app/app/models/instructor.rb +0 -7
  243. data/spec/fixtures/rails7_users_app/app/views/layouts/application.html.erb +0 -16
  244. data/spec/fixtures/rails7_users_app/app/views/layouts/mailer.html.erb +0 -13
  245. data/spec/fixtures/rails7_users_app/app/views/layouts/mailer.text.erb +0 -1
  246. data/spec/fixtures/rails7_users_app/appmap.yml +0 -3
  247. data/spec/fixtures/rails7_users_app/bin/bundle +0 -114
  248. data/spec/fixtures/rails7_users_app/bin/importmap +0 -4
  249. data/spec/fixtures/rails7_users_app/bin/rails +0 -4
  250. data/spec/fixtures/rails7_users_app/bin/rake +0 -4
  251. data/spec/fixtures/rails7_users_app/bin/setup +0 -33
  252. data/spec/fixtures/rails7_users_app/config/application.rb +0 -22
  253. data/spec/fixtures/rails7_users_app/config/boot.rb +0 -4
  254. data/spec/fixtures/rails7_users_app/config/cable.yml +0 -10
  255. data/spec/fixtures/rails7_users_app/config/credentials.yml.enc +0 -1
  256. data/spec/fixtures/rails7_users_app/config/database.yml +0 -1
  257. data/spec/fixtures/rails7_users_app/config/environment.rb +0 -5
  258. data/spec/fixtures/rails7_users_app/config/environments/development.rb +0 -70
  259. data/spec/fixtures/rails7_users_app/config/environments/production.rb +0 -93
  260. data/spec/fixtures/rails7_users_app/config/environments/test.rb +0 -60
  261. data/spec/fixtures/rails7_users_app/config/importmap.rb +0 -7
  262. data/spec/fixtures/rails7_users_app/config/initializers/assets.rb +0 -12
  263. data/spec/fixtures/rails7_users_app/config/initializers/content_security_policy.rb +0 -26
  264. data/spec/fixtures/rails7_users_app/config/initializers/filter_parameter_logging.rb +0 -8
  265. data/spec/fixtures/rails7_users_app/config/initializers/inflections.rb +0 -16
  266. data/spec/fixtures/rails7_users_app/config/initializers/permissions_policy.rb +0 -11
  267. data/spec/fixtures/rails7_users_app/config/locales/en.yml +0 -33
  268. data/spec/fixtures/rails7_users_app/config/puma.rb +0 -43
  269. data/spec/fixtures/rails7_users_app/config/routes.rb +0 -6
  270. data/spec/fixtures/rails7_users_app/config/storage.yml +0 -34
  271. data/spec/fixtures/rails7_users_app/config.ru +0 -6
  272. data/spec/fixtures/rails7_users_app/db/migrate/20220328093141_create_instances.rb +0 -8
  273. data/spec/fixtures/rails7_users_app/db/migrate/20220328093154_create_instructors.rb +0 -8
  274. data/spec/fixtures/rails7_users_app/db/schema.rb +0 -27
  275. data/spec/fixtures/rails7_users_app/db/seeds.rb +0 -7
  276. data/spec/fixtures/rails7_users_app/lib/assets/.keep +0 -0
  277. data/spec/fixtures/rails7_users_app/lib/tasks/.keep +0 -0
  278. data/spec/fixtures/rails7_users_app/log/.keep +0 -0
  279. data/spec/fixtures/rails7_users_app/public/404.html +0 -67
  280. data/spec/fixtures/rails7_users_app/public/422.html +0 -67
  281. data/spec/fixtures/rails7_users_app/public/500.html +0 -66
  282. data/spec/fixtures/rails7_users_app/public/apple-touch-icon-precomposed.png +0 -0
  283. data/spec/fixtures/rails7_users_app/public/apple-touch-icon.png +0 -0
  284. data/spec/fixtures/rails7_users_app/public/favicon.ico +0 -0
  285. data/spec/fixtures/rails7_users_app/public/robots.txt +0 -1
  286. data/spec/fixtures/rails7_users_app/storage/.keep +0 -0
  287. data/spec/fixtures/rails7_users_app/test/application_system_test_case.rb +0 -5
  288. data/spec/fixtures/rails7_users_app/test/channels/application_cable/connection_test.rb +0 -11
  289. data/spec/fixtures/rails7_users_app/test/controllers/.keep +0 -0
  290. data/spec/fixtures/rails7_users_app/test/fixtures/files/.keep +0 -0
  291. data/spec/fixtures/rails7_users_app/test/fixtures/instances.yml +0 -11
  292. data/spec/fixtures/rails7_users_app/test/fixtures/instructors.yml +0 -11
  293. data/spec/fixtures/rails7_users_app/test/helpers/.keep +0 -0
  294. data/spec/fixtures/rails7_users_app/test/integration/.keep +0 -0
  295. data/spec/fixtures/rails7_users_app/test/mailers/.keep +0 -0
  296. data/spec/fixtures/rails7_users_app/test/models/.keep +0 -0
  297. data/spec/fixtures/rails7_users_app/test/models/instance_test.rb +0 -6
  298. data/spec/fixtures/rails7_users_app/test/models/instructor_test.rb +0 -7
  299. data/spec/fixtures/rails7_users_app/test/system/.keep +0 -0
  300. data/spec/fixtures/rails7_users_app/test/test_helper.rb +0 -13
  301. data/spec/handler/class_with_eval.rb +0 -13
  302. data/spec/handler/eval_spec.rb +0 -73
  303. data/spec/hook_spec.rb +0 -1216
  304. data/spec/open_spec.rb +0 -19
  305. data/spec/rails_recording_spec.rb +0 -281
  306. data/spec/rails_spec_helper.rb +0 -107
  307. data/spec/rails_test_spec.rb +0 -35
  308. data/spec/railtie_spec.rb +0 -25
  309. data/spec/record_net_http_spec.rb +0 -161
  310. data/spec/record_sql_rails_pg_spec.rb +0 -59
  311. data/spec/remote_recording_spec.rb +0 -108
  312. data/spec/service/config_analyzer_spec.rb +0 -102
  313. data/spec/service/integration_test_path_finder_spec.rb +0 -24
  314. data/spec/service/validator/violation_spec.rb +0 -68
  315. data/spec/spec_helper.rb +0 -37
  316. data/spec/swagger/swagger_spec.rb +0 -85
  317. data/spec/util_spec.rb +0 -38
  318. data/test/agent_setup_init_test.rb +0 -39
  319. data/test/agent_setup_status_test.rb +0 -84
  320. data/test/agent_setup_validate_test.rb +0 -102
  321. data/test/bundle_vendor_test.rb +0 -35
  322. data/test/cucumber_test.rb +0 -72
  323. data/test/expectations/openssl_test_key_sign1.json +0 -53
  324. data/test/expectations/openssl_test_key_sign2-3.1.json +0 -53
  325. data/test/expectations/openssl_test_key_sign2.json +0 -58
  326. data/test/fixtures/bundle_vendor_app/Gemfile +0 -8
  327. data/test/fixtures/bundle_vendor_app/appmap.yml +0 -4
  328. data/test/fixtures/bundle_vendor_app/cli.rb +0 -54
  329. data/test/fixtures/cli_record_test/appmap.yml +0 -3
  330. data/test/fixtures/cli_record_test/lib/cli_record_test/main.rb +0 -9
  331. data/test/fixtures/cucumber4_recorder/Gemfile +0 -5
  332. data/test/fixtures/cucumber4_recorder/appmap.yml +0 -3
  333. data/test/fixtures/cucumber4_recorder/features/say_hello.feature +0 -5
  334. data/test/fixtures/cucumber4_recorder/features/support/env.rb +0 -5
  335. data/test/fixtures/cucumber4_recorder/features/support/hooks.rb +0 -11
  336. data/test/fixtures/cucumber4_recorder/features/support/steps.rb +0 -9
  337. data/test/fixtures/cucumber4_recorder/lib/hello.rb +0 -7
  338. data/test/fixtures/cucumber_recorder/Gemfile +0 -5
  339. data/test/fixtures/cucumber_recorder/appmap.yml +0 -3
  340. data/test/fixtures/cucumber_recorder/features/say_hello.feature +0 -5
  341. data/test/fixtures/cucumber_recorder/features/support/env.rb +0 -5
  342. data/test/fixtures/cucumber_recorder/features/support/hooks.rb +0 -11
  343. data/test/fixtures/cucumber_recorder/features/support/steps.rb +0 -9
  344. data/test/fixtures/cucumber_recorder/lib/hello.rb +0 -7
  345. data/test/fixtures/gem_test/Gemfile +0 -7
  346. data/test/fixtures/gem_test/appmap.yml +0 -3
  347. data/test/fixtures/gem_test/test/parser_test.rb +0 -12
  348. data/test/fixtures/minitest_recorder/Gemfile +0 -5
  349. data/test/fixtures/minitest_recorder/appmap.yml +0 -3
  350. data/test/fixtures/minitest_recorder/lib/hello.rb +0 -5
  351. data/test/fixtures/minitest_recorder/test/hello_test.rb +0 -12
  352. data/test/fixtures/mocha_mock_app/Gemfile +0 -5
  353. data/test/fixtures/mocha_mock_app/appmap.yml +0 -5
  354. data/test/fixtures/mocha_mock_app/lib/sheep.rb +0 -5
  355. data/test/fixtures/mocha_mock_app/test/sheep_test.rb +0 -18
  356. data/test/fixtures/openssl_recorder/Gemfile +0 -3
  357. data/test/fixtures/openssl_recorder/appmap.yml +0 -3
  358. data/test/fixtures/openssl_recorder/lib/openssl_cert_sign.rb +0 -94
  359. data/test/fixtures/openssl_recorder/lib/openssl_encrypt.rb +0 -34
  360. data/test/fixtures/openssl_recorder/lib/openssl_key_sign.rb +0 -28
  361. data/test/fixtures/process_recorder/appmap.yml +0 -3
  362. data/test/fixtures/process_recorder/hello.rb +0 -9
  363. data/test/fixtures/rspec_recorder/Gemfile +0 -5
  364. data/test/fixtures/rspec_recorder/appmap.yml +0 -3
  365. data/test/fixtures/rspec_recorder/lib/hello.rb +0 -5
  366. data/test/fixtures/rspec_recorder/spec/decorated_hello_spec.rb +0 -21
  367. data/test/fixtures/rspec_recorder/spec/labeled_hello_spec.rb +0 -9
  368. data/test/fixtures/rspec_recorder/spec/plain_hello_spec.rb +0 -9
  369. data/test/gem_test.rb +0 -35
  370. data/test/inspect_cli_test.rb +0 -12
  371. data/test/minitest_test.rb +0 -37
  372. data/test/mock_compatibility_test.rb +0 -45
  373. data/test/openssl_test.rb +0 -54
  374. data/test/record_process_test.rb +0 -35
  375. data/test/rspec_test.rb +0 -63
  376. data/test/test_helper.rb +0 -8
@@ -1,35 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'test_helper'
5
- require 'English'
6
-
7
- class BundleVendorTest < Minitest::Test
8
- def perform_bundle_vendor_app(test_name)
9
- Bundler.with_clean_env do
10
- Dir.chdir 'test/fixtures/bundle_vendor_app' do
11
- FileUtils.rm_rf 'tmp'
12
- FileUtils.mkdir_p 'tmp'
13
- system 'bundle config --local local.appmap ../../..'
14
- system 'bundle'
15
- system(%(bundle exec ruby -Ilib -Itest cli.rb add foobar))
16
- system({ 'APPMAP' => 'true' }, %(bundle exec ruby -Ilib -Itest cli.rb list))
17
-
18
- yield
19
- end
20
- end
21
- end
22
-
23
- def test_record_gem
24
- perform_bundle_vendor_app 'parser' do
25
- appmap_file = 'tmp/bundle_vendor_app.appmap.json'
26
- appmap = JSON.parse(File.read(appmap_file))
27
- assert appmap['classMap'].find { |co| co['name'] == 'gli' }
28
- assert appmap['events'].find do |e|
29
- e['event'] == 'call' &&
30
- e['defined_class'] = 'Hacer::Todolist' &&
31
- e['method_id'] == 'list'
32
- end
33
- end
34
- end
35
- end
@@ -1,72 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'test_helper'
5
- require 'English'
6
-
7
- class CucumberTest < Minitest::Test
8
- def perform_test(dir)
9
- Bundler.with_clean_env do
10
- Dir.chdir "test/fixtures/#{dir}" do
11
- FileUtils.rm_rf 'tmp'
12
- system 'bundle config --local local.appmap ../../..'
13
- system 'bundle'
14
- system({ 'APPMAP' => 'true' }, %(bundle exec cucumber))
15
-
16
- yield
17
- end
18
- end
19
- end
20
-
21
- def test_cucumber
22
- perform_test 'cucumber_recorder' do
23
- appmap_file = 'tmp/appmap/cucumber/Say_hello.appmap.json'
24
-
25
- assert File.file?(appmap_file),
26
- %(appmap output file does not exist in #{Dir.new('tmp/appmap/cucumber').entries.join(', ')})
27
- appmap = JSON.parse(File.read(appmap_file))
28
- assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
29
- assert_includes appmap.keys, 'metadata'
30
- metadata = appmap['metadata']
31
-
32
- assert_equal 'say_hello', metadata['feature_group']
33
- assert_equal 'I can say hello', metadata['feature']
34
- assert_equal 'Say hello', metadata['name']
35
- assert_includes metadata.keys, 'client'
36
- assert_equal({ name: 'appmap', url: AppMap::URL, version: AppMap::VERSION }.stringify_keys, metadata['client'])
37
- assert_includes metadata.keys, 'recorder'
38
- assert_equal({ name: 'cucumber' }.stringify_keys, metadata['recorder'])
39
-
40
- assert_includes metadata.keys, 'frameworks'
41
- cucumber = metadata['frameworks'].select {|f| f['name'] == 'cucumber'}
42
- assert_equal 1, cucumber.count
43
- end
44
- end
45
-
46
- def test_cucumber4
47
- perform_test 'cucumber4_recorder' do
48
- appmap_file = 'tmp/appmap/cucumber/Say_hello.appmap.json'
49
-
50
- assert File.file?(appmap_file),
51
- %(appmap output file does not exist in #{Dir.new('tmp/appmap/cucumber').entries.join(', ')})
52
- appmap = JSON.parse(File.read(appmap_file))
53
- assert_equal AppMap::APPMAP_FORMAT_VERSION, appmap['version']
54
- assert_includes appmap.keys, 'metadata'
55
- metadata = appmap['metadata']
56
-
57
- assert_equal 'say_hello', metadata['feature_group']
58
- # In cucumber4, there's no access to the feature name from within the executing scenario
59
- # (as far as I can tell).
60
- assert_equal 'Say hello', metadata['feature']
61
- assert_equal 'Say hello', metadata['name']
62
- assert_includes metadata.keys, 'client'
63
- assert_equal({ name: 'appmap', url: AppMap::URL, version: AppMap::VERSION }.stringify_keys, metadata['client'])
64
- assert_includes metadata.keys, 'recorder'
65
- assert_equal({ name: 'cucumber' }.stringify_keys, metadata['recorder'])
66
-
67
- assert_includes metadata.keys, 'frameworks'
68
- cucumber = metadata['frameworks'].select {|f| f['name'] == 'cucumber'}
69
- assert_equal 1, cucumber.count
70
- end
71
- end
72
- end
@@ -1,53 +0,0 @@
1
- [
2
- {
3
- "name": "lib",
4
- "type": "package",
5
- "children": [
6
- {
7
- "name": "Example",
8
- "type": "class",
9
- "children": [
10
- {
11
- "name": "sign",
12
- "type": "function",
13
- "location": "lib/openssl_key_sign.rb:10",
14
- "static": true
15
- }
16
- ]
17
- }
18
- ]
19
- },
20
- {
21
- "name": "openssl",
22
- "type": "package",
23
- "children": [
24
- {
25
- "name": "OpenSSL",
26
- "type": "class",
27
- "children": [
28
- {
29
- "name": "PKey",
30
- "type": "class",
31
- "children": [
32
- {
33
- "name": "PKey",
34
- "type": "class",
35
- "children": [
36
- {
37
- "name": "sign",
38
- "type": "function",
39
- "location": "OpenSSL::PKey::PKey#sign",
40
- "static": false,
41
- "labels": [
42
- "crypto.pkey"
43
- ]
44
- }
45
- ]
46
- }
47
- ]
48
- }
49
- ]
50
- }
51
- ]
52
- }
53
- ]
@@ -1,53 +0,0 @@
1
- [
2
- {
3
- "id": 1,
4
- "event": "call",
5
- "defined_class": "Example",
6
- "method_id": "sign",
7
- "path": "lib/openssl_key_sign.rb",
8
- "lineno": 10,
9
- "static": true,
10
- "parameters": [
11
-
12
- ],
13
- "receiver": {
14
- "class": "Module"
15
- }
16
- },
17
- {
18
- "id": 2,
19
- "event": "call",
20
- "defined_class": "OpenSSL::PKey::PKey",
21
- "method_id": "sign",
22
- "path": "OpenSSL::PKey::PKey#sign",
23
- "static": false,
24
- "parameters": [
25
- {
26
- "name": "arg",
27
- "class": "Array",
28
- "value": "[e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855, the document]",
29
- "kind": "rest",
30
- "size": 2
31
- }
32
- ],
33
- "receiver": {
34
- "class": "OpenSSL::PKey::RSA"
35
- }
36
- },
37
- {
38
- "id": 3,
39
- "event": "return",
40
- "parent_id": 2,
41
- "return_value": {
42
- "class": "String"
43
- }
44
- },
45
- {
46
- "id": 4,
47
- "event": "return",
48
- "parent_id": 1,
49
- "return_value": {
50
- "class": "String"
51
- }
52
- }
53
- ]
@@ -1,58 +0,0 @@
1
- [
2
- {
3
- "id": 1,
4
- "event": "call",
5
- "defined_class": "Example",
6
- "method_id": "sign",
7
- "path": "lib/openssl_key_sign.rb",
8
- "lineno": 10,
9
- "static": true,
10
- "parameters": [
11
-
12
- ],
13
- "receiver": {
14
- "class": "Module"
15
- }
16
- },
17
- {
18
- "id": 2,
19
- "event": "call",
20
- "defined_class": "OpenSSL::PKey::PKey",
21
- "method_id": "sign",
22
- "path": "OpenSSL::PKey::PKey#sign",
23
- "static": false,
24
- "parameters": [
25
- {
26
- "name": "arg",
27
- "class": "OpenSSL::Digest::SHA256",
28
- "value": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
29
- "kind": "req"
30
- },
31
- {
32
- "name": "arg",
33
- "class": "String",
34
- "value": "the document",
35
- "kind": "req"
36
- }
37
- ],
38
- "receiver": {
39
- "class": "OpenSSL::PKey::RSA"
40
- }
41
- },
42
- {
43
- "id": 3,
44
- "event": "return",
45
- "parent_id": 2,
46
- "return_value": {
47
- "class": "String"
48
- }
49
- },
50
- {
51
- "id": 4,
52
- "event": "return",
53
- "parent_id": 1,
54
- "return_value": {
55
- "class": "String"
56
- }
57
- }
58
- ]
@@ -1,8 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'gli'
4
- gem 'hacer'
5
-
6
- appmap_gem_opts = {}
7
- appmap_gem_opts[:path] = '../../..' if File.exist?('../../../appmap.gemspec')
8
- gem 'appmap', appmap_gem_opts
@@ -1,4 +0,0 @@
1
- name: bundle_vendor_app
2
- packages:
3
- - gem: gli
4
- - gem: hacer
@@ -1,54 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'appmap'
3
- require 'gli'
4
- require 'hacer'
5
-
6
- class App
7
- extend GLI::App
8
-
9
- program_desc 'A simple todo list'
10
-
11
- flag [:t,:tasklist], :default_value => File.join(ENV['HOME'],'.todolist')
12
-
13
- pre do |global_options,command,options,args|
14
- $todo_list = Hacer::Todolist.new(global_options[:tasklist])
15
- end
16
-
17
- command :add do |c|
18
- c.action do |global_options,options,args|
19
- $todo_list.create(args)
20
- end
21
- end
22
-
23
- command :list do |c|
24
- c.action do
25
- $todo_list.list.each do |todo|
26
- printf("%5d - %s\n",todo.todo_id,todo.text)
27
- end
28
- end
29
- end
30
-
31
- command :done do |c|
32
- c.action do |global_options,options,args|
33
- id = args.shift.to_i
34
- $todo_list.list.each do |todo|
35
- $todo_list.complete(todo) if todo.todo_id == id
36
- end
37
- end
38
- end
39
- end
40
-
41
- exit_status = nil
42
- invoke = -> { exit_status = App.run(ARGV) }
43
- do_appmap = -> { ENV['APPMAP'] == 'true' }
44
-
45
- if do_appmap.()
46
- appmap = AppMap.record do
47
- invoke.()
48
- end
49
- File.write('tmp/bundle_vendor_app.appmap.json', JSON.pretty_generate(appmap))
50
- else
51
- invoke.()
52
- end
53
- exit exit_status
54
-
@@ -1,3 +0,0 @@
1
- name: cli_record_test
2
- packages:
3
- - path: lib
@@ -1,9 +0,0 @@
1
- class Main
2
- class << self
3
- def say_hello
4
- puts 'Hello'
5
- end
6
- end
7
- end
8
-
9
- Main.say_hello
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref HEAD`.strip
4
- gem 'byebug'
5
- gem 'cucumber', '>= 4'
@@ -1,3 +0,0 @@
1
- name: cucumber_recorder
2
- packages:
3
- - path: lib
@@ -1,5 +0,0 @@
1
- Feature: I can say hello
2
-
3
- Scenario: Say hello
4
- When I say hello
5
- Then the message is hello
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'cucumber'
4
- require 'appmap/cucumber'
5
- require File.join(__dir__, '../../lib/hello')
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'appmap'
4
-
5
- Around('not @appmap-disable') do |scenario, block|
6
- appmap = AppMap.record do
7
- block.call
8
- end
9
-
10
- AppMap::Cucumber.write_scenario(scenario, appmap)
11
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- When('I say hello') do
4
- @message = Hello.new.say_hello
5
- end
6
-
7
- Then('the message is hello') do
8
- raise 'Wrong message!' unless @message == 'Hello!'
9
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Hello
4
- def say_hello
5
- 'Hello!'
6
- end
7
- end
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref HEAD`.strip
4
- gem 'byebug'
5
- gem 'cucumber', '< 4'
@@ -1,3 +0,0 @@
1
- name: cucumber_recorder
2
- packages:
3
- - path: lib
@@ -1,5 +0,0 @@
1
- Feature: I can say hello
2
-
3
- Scenario: Say hello
4
- When I say hello
5
- Then the message is hello
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'cucumber'
4
- require 'appmap/cucumber'
5
- require File.join(__dir__, '../../lib/hello')
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'appmap'
4
-
5
- Around('not @appmap-disable') do |scenario, block|
6
- appmap = AppMap.record do
7
- block.call
8
- end
9
-
10
- AppMap::Cucumber.write_scenario(scenario, appmap)
11
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- When('I say hello') do
4
- @message = Hello.new.say_hello
5
- end
6
-
7
- Then('the message is hello') do
8
- raise 'Wrong message!' unless @message == 'Hello!'
9
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Hello
4
- def say_hello
5
- 'Hello!'
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref HEAD`.strip
4
- gem 'activesupport'
5
- gem 'byebug'
6
- gem 'minitest'
7
- gem 'parser'
@@ -1,3 +0,0 @@
1
- name: gem_test
2
- packages:
3
- - gem: parser
@@ -1,12 +0,0 @@
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
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref HEAD`.strip
4
- gem 'byebug'
5
- gem 'minitest'
@@ -1,3 +0,0 @@
1
- name: minitest_recorder
2
- packages:
3
- - path: .
@@ -1,5 +0,0 @@
1
- class Hello
2
- def say_hello
3
- 'Hello!'
4
- end
5
- end
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require 'minitest/autorun'
5
- require 'appmap/minitest'
6
- require 'hello'
7
-
8
- class HelloTest < ::Minitest::Test
9
- def test_hello
10
- assert_equal 'Hello!', Hello.new.say_hello
11
- end
12
- end
@@ -1,5 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref HEAD`.strip
4
- gem 'minitest'
5
- gem 'mocha'
@@ -1,5 +0,0 @@
1
- name: mocha_mock_app
2
- packages:
3
- - path: lib
4
- - gem: mocha
5
- shallow: false
@@ -1,5 +0,0 @@
1
- class Sheep
2
- def baa
3
- 'baa'
4
- end
5
- end
@@ -1,18 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- gem 'appmap', git: 'applandinc/appmap-ruby', branch: `git rev-parse --abbrev-ref HEAD`.strip
@@ -1,3 +0,0 @@
1
- name: openssl_recorder
2
- packages:
3
- - path: lib