coverband 5.2.6.rc.6 → 6.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '038d579fb6a17cf39e836bdf1918f3535de5a774337a782c20b8b4f15021bace'
4
- data.tar.gz: b1c8a6310809f17bcead1dceef71679bc768a392cd0682daf7c668343a898f86
3
+ metadata.gz: 49c21ff66d025758b2d3edca8a16bd3863aad9ad38df0f084fd5171e5fb2243d
4
+ data.tar.gz: 1428dcab49562e2d244e466c06c60e5259a10c3191dd712d8c011ab95e454975
5
5
  SHA512:
6
- metadata.gz: 7d8ed302f5e3715fc3f4649364743223dcc8a2e7f07112603800cf03302ed64a8f63e3c993993baaeccd99290667b5ec48b0714cf1b564c8cf24db8c60ad1e47
7
- data.tar.gz: 2ba722322a9219b3a4ab369ee0f337152151b0301e42f444ac4d9f9866cf1399687ceb2549ae9bb33781661d63b692e07d9b10b7a3c4287638f2ffaed844621c
6
+ metadata.gz: 9638310cb885222da8e13e4246f13935621be71f1ab5c92a6f7f13e1c3514053575c4ac1a3dcb681785ddd52c3b3d56e67b3f27e02bfc5cc24863799aaba4837
7
+ data.tar.gz: d21c5595168eb920f73176b6e4a2edf1b145c37d9abf138e296a921c86d8603b274166fea358d61a8df2b592e6349104833e7c8ff7a45b02f776feba5868a559
@@ -19,6 +19,7 @@ jobs:
19
19
  # truffleruby,
20
20
  # truffleruby-head,
21
21
  # removing jruby again to flaky
22
+ gemfile: [ Gemfile.rails6.0, Gemfile.rails6.1, Gemfile.rails7.0, Gemfile.rails7.1 ]
22
23
  # ruby: [2.3, 2.4, 2.5, 2.6, 2.7, "3.0", "3.1", jruby]
23
24
  # need to add support for multiple gemfiles
24
25
  ruby: ["2.7", "3.0", "3.1", "3.2"]
data/Gemfile.rails6.0 ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in coverband.gemspec
6
+ gemspec
7
+ gem "rails", "~>6.0.0"
8
+ gem "haml"
9
+ gem "slim"
10
+ gem "webrick"
data/Gemfile.rails6.1 ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ # Specify your gem's dependencies in coverband.gemspec
6
+ gemspec
7
+ gem "rails", "~>6.1.0"
8
+ gem "haml"
9
+ gem "slim"
10
+ gem "webrick"
data/Gemfile.rails7.0 ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in coverband.gemspec
6
+ gemspec
7
+ gem 'rails', '~>7.0.0'
8
+ gem "haml"
9
+ gem "slim"
10
+ gem "webrick"
data/Gemfile.rails7.1 ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in coverband.gemspec
6
+ gemspec
7
+ gem 'rails', '~>7.1.0'
8
+ gem "haml"
9
+ gem "slim"
10
+ gem "webrick"
data/README.md CHANGED
@@ -407,7 +407,7 @@ If you submit a change please make sure the tests and benchmarks are passing.
407
407
 
408
408
  - run tests:
409
409
  - `bundle exec rake`
410
- - `BUNDLE_GEMFILE=Gemfile.rails6 bundle exec rake` (Same tests using rails 6 instead of 5)
410
+ - `BUNDLE_GEMFILE=Gemfile.rails7 bundle exec rake` (Same tests using rails 7 instead of 6)
411
411
  - view test coverage: `open coverage/index.html`
412
412
  - run the benchmarks before and after your change to see impact
413
413
  - `rake benchmarks`
data/changes.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### Coverband 6.0.0
2
+
3
+ __NOTE: I ended up having 5.2.6 in various RCs for a long time, mostly because I had some breaking changes that were related to dropping support for old versions of Ruby and Rails__
4
+
5
+ * The 6.0.0 release is all that was the 6 different RC releases of 5.2.6
6
+ * Added Rails test matrix to github actions to test on all the supported versions
7
+ - Rails: 6.0.x, 6.1.x, 7.0.x, 7.1.x
8
+
1
9
  ### Coverband 5.2.6
2
10
 
3
11
  __NOTE: the current RCs include below, but this might turn into coverband 6.0__
data/coverband.gemspec CHANGED
@@ -35,7 +35,8 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "capybara"
36
36
  spec.add_development_dependency "m"
37
37
  spec.add_development_dependency "memory_profiler"
38
- spec.add_development_dependency "minitest"
38
+ # breaking change in minitest and mocha
39
+ spec.add_development_dependency "minitest", "= 5.18.1"
39
40
  spec.add_development_dependency "minitest-fork_executor"
40
41
  spec.add_development_dependency "minitest-stub-const"
41
42
  spec.add_development_dependency "mocha", "~> 1.7.0"
@@ -47,7 +48,8 @@ Gem::Specification.new do |spec|
47
48
  spec.add_development_dependency "standardrb"
48
49
 
49
50
  spec.add_development_dependency "coveralls"
50
- spec.add_development_dependency "minitest-profile"
51
+ # minitest-profile is not compatible with Rails 7.1.0 setup... dropping it for now
52
+ # spec.add_development_dependency "minitest-profile"
51
53
  spec.add_development_dependency "webmock"
52
54
 
53
55
  # TODO: Remove when other production adapters exist
@@ -51,7 +51,7 @@ module Coverband
51
51
  local_type ||= opts.key?(:override_type) ? opts[:override_type] : type
52
52
  env_filter = opts.key?(:env_filter) ? opts[:env_filter] : "production"
53
53
  uri = URI("#{coverband_url}/api/coverage?type=#{local_type}&env_filter=#{env_filter}")
54
- req = Net::HTTP::Get.new(uri, "Content-Type" => "application/json", "Coverband-Token" => Coverband.configuration.api_key)
54
+ req = Net::HTTP::Get.new(uri, "content-type" => "application/json", "Coverband-Token" => Coverband.configuration.api_key)
55
55
  res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
56
56
  http.request(req)
57
57
  end
@@ -133,7 +133,7 @@ module Coverband
133
133
 
134
134
  def send_report_body(coverage_body)
135
135
  uri = URI("#{coverband_url}/api/collector")
136
- req = ::Net::HTTP::Post.new(uri, "Content-Type" => "application/json", "Coverband-Token" => Coverband.configuration.api_key)
136
+ req = ::Net::HTTP::Post.new(uri, "content-type" => "application/json", "Coverband-Token" => Coverband.configuration.api_key)
137
137
  req.body = coverage_body
138
138
  logger&.info "Coverband: saving (#{uri}) #{req.body}" if Coverband.configuration.verbose
139
139
  res = ::Net::HTTP.start(
@@ -35,7 +35,7 @@ module Coverband
35
35
 
36
36
  def save_tracked_views(views:, reported_time:)
37
37
  uri = URI("#{Coverband.configuration.service_url}/api/collector")
38
- req = Net::HTTP::Post.new(uri, "Content-Type" => "application/json", "Coverband-Token" => Coverband.configuration.api_key)
38
+ req = Net::HTTP::Post.new(uri, "content-type" => "application/json", "Coverband-Token" => Coverband.configuration.api_key)
39
39
  data = {
40
40
  collection_type: "view_tracker_delta",
41
41
  collection_data: {
@@ -66,7 +66,7 @@ module Coverband
66
66
  elsif request_path_info =~ %r{\/clear_.*}
67
67
  return clear_abstract_tracking(tracker)
68
68
  else
69
- return [200, {"Content-Type" => "text/html"}, [display_abstract_tracker(tracker)]]
69
+ return [200, {"content-type" => "text/html"}, [display_abstract_tracker(tracker)]]
70
70
  end
71
71
  end
72
72
  end
@@ -203,9 +203,9 @@ module Coverband
203
203
 
204
204
  def coverband_headers(content_type: "text/html")
205
205
  web_headers = {
206
- "Content-Type" => content_type
206
+ "content-type" => content_type
207
207
  }
208
- web_headers["Content-Security-Policy-Report-Only"] = CSP_HEADER if Coverband.configuration.csp_policy
208
+ web_headers["content-security-policy-report-only"] = CSP_HEADER if Coverband.configuration.csp_policy
209
209
  web_headers
210
210
  end
211
211
 
@@ -46,9 +46,9 @@ module ActionDispatch
46
46
  body = ""
47
47
 
48
48
  headers = {
49
- "Location" => uri.to_s,
50
- "Content-Type" => "text/html",
51
- "Content-Length" => body.length.to_s
49
+ "location" => uri.to_s,
50
+ "content-type" => "text/html",
51
+ "content-length" => body.length.to_s
52
52
  }
53
53
 
54
54
  ActionDispatch::Response.new(status, headers, body)
@@ -46,6 +46,15 @@ namespace :coverband do
46
46
  Coverband.configuration.store.clear!
47
47
  end
48
48
 
49
+ ###
50
+ # clear all coverband trackers data
51
+ ###
52
+ desc "reset Coverband trackers data (view, routes, translations, etc), helpful for development, debugging, etc"
53
+ task :clear_tracker do
54
+ trackers = Coverband.configuration.trackers
55
+ trackers.each(&:reset_recordings)
56
+ end
57
+
49
58
  ###
50
59
  # Updates the data in the coverband store from one format to another
51
60
  ###
@@ -5,5 +5,5 @@
5
5
  # use format "4.2.1.rc.1" ~> 4.2.1.rc to prerelease versions like v4.2.1.rc.2 and v4.2.1.rc.3
6
6
  ###
7
7
  module Coverband
8
- VERSION = "5.2.6.rc.6"
8
+ VERSION = "6.0.0"
9
9
  end
@@ -38,7 +38,7 @@ class BackgroundMiddlewareTest < Minitest::Test
38
38
 
39
39
  def fake_app
40
40
  @fake_app ||= lambda do |env|
41
- [200, {"Content-Type" => "text/plain"}, env["PATH_INFO"]]
41
+ [200, {"content-type" => "text/plain"}, env["PATH_INFO"]]
42
42
  end
43
43
  end
44
44
  end
@@ -34,7 +34,7 @@ class ReportMiddlewareTest < Minitest::Test
34
34
 
35
35
  def fake_app
36
36
  @fake_app ||= lambda do |env|
37
- [200, {"Content-Type" => "text/plain"}, env["PATH_INFO"]]
37
+ [200, {"content-type" => "text/plain"}, env["PATH_INFO"]]
38
38
  end
39
39
  end
40
40
 
@@ -4,6 +4,6 @@ require "rack"
4
4
 
5
5
  class HelloWorld
6
6
  def call(_env)
7
- [200, {"Content-Type" => "text/html"}, "Hello Rack!"]
7
+ [200, {"content-type" => "text/html"}, "Hello Rack!"]
8
8
  end
9
9
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coverband
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.6.rc.6
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Mayer
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-07-07 00:00:00.000000000 Z
12
+ date: 2023-10-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: benchmark-ips
@@ -71,16 +71,16 @@ dependencies:
71
71
  name: minitest
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
- - - ">="
74
+ - - '='
75
75
  - !ruby/object:Gem::Version
76
- version: '0'
76
+ version: 5.18.1
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
- - - ">="
81
+ - - '='
82
82
  - !ruby/object:Gem::Version
83
- version: '0'
83
+ version: 5.18.1
84
84
  - !ruby/object:Gem::Dependency
85
85
  name: minitest-fork_executor
86
86
  requirement: !ruby/object:Gem::Requirement
@@ -221,20 +221,6 @@ dependencies:
221
221
  - - ">="
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
- - !ruby/object:Gem::Dependency
225
- name: minitest-profile
226
- requirement: !ruby/object:Gem::Requirement
227
- requirements:
228
- - - ">="
229
- - !ruby/object:Gem::Version
230
- version: '0'
231
- type: :development
232
- prerelease: false
233
- version_requirements: !ruby/object:Gem::Requirement
234
- requirements:
235
- - - ">="
236
- - !ruby/object:Gem::Version
237
- version: '0'
238
224
  - !ruby/object:Gem::Dependency
239
225
  name: webmock
240
226
  requirement: !ruby/object:Gem::Requirement
@@ -280,7 +266,11 @@ files:
280
266
  - CODE_OF_CONDUCT.md
281
267
  - CONTRIBUTING.md
282
268
  - Gemfile
269
+ - Gemfile.rails6.0
270
+ - Gemfile.rails6.1
283
271
  - Gemfile.rails7
272
+ - Gemfile.rails7.0
273
+ - Gemfile.rails7.1
284
274
  - LICENSE
285
275
  - LICENSE.txt
286
276
  - README.md
@@ -519,9 +509,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
519
509
  version: '2.3'
520
510
  required_rubygems_version: !ruby/object:Gem::Requirement
521
511
  requirements:
522
- - - ">"
512
+ - - ">="
523
513
  - !ruby/object:Gem::Version
524
- version: 1.3.1
514
+ version: '0'
525
515
  requirements: []
526
516
  rubygems_version: 3.2.32
527
517
  signing_key: