coverband 5.0.2 → 5.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3b98c9059d81fec16d880a8fad573126d84a01ca07a62ff5ffad37cae5291dbf
4
- data.tar.gz: '01649a623307249c03338564770702c3f912a62ee478818fdb65864aba98194f'
3
+ metadata.gz: bbff118005d968f8d2158135273f108cbb9b867c9c13d783b5fb8a2220dd5540
4
+ data.tar.gz: bc7ec947e707d4feaf213a0559f110ae5d11a487ea370f5e9f6a1256c2799701
5
5
  SHA512:
6
- metadata.gz: c9f5bf66e7dcb8c324f77f3fcbe7760f7b8a591c7060126f27917be485e35cd8b865d939a343db98f727fdaec93c9411eb02af30cf1e035bec0626ea16913973
7
- data.tar.gz: 50bdcda8675352e9a98880e35de84229e744ed2a323dd4328870f2084cde8f39befecde59aaf55810d1b71d8c9f4f224aa71de22b031e2a4bb8f44cfe9bf32a1
6
+ metadata.gz: af026a80339c3047c62c99c6ec47385288fc7a0fd1d295b646abffdd4b74ea48118f01b2caa2ef997d7dc8775ebc047ce9844189065148f82eaea10fb2bf2978
7
+ data.tar.gz: a4555a8209507c66efc7ba2432bb5b743cc45331fead66f038df9823a85e8a1bbf9401cd9b47a450cfd184ff399d429e193527df6745ec1770b0b0e08a863141
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010-2018 Dan Mayer
1
+ Copyright (c) 2010-2020 Dan Mayer
2
2
 
3
3
  MIT License
4
4
 
data/changes.md CHANGED
@@ -53,12 +53,17 @@ Will be the fully modern release that drops maintenance legacy support in favor
53
53
 
54
54
  # Alpha / Beta / Release Candidates
55
55
 
56
- ### Coverband 5.0.3
56
+ ### Coverband 5.0.4
57
57
 
58
58
  - ?
59
59
 
60
60
  # Released
61
61
 
62
+ ### Coverband 5.0.3
63
+
64
+ - fix for non standard root paths for view_tracker thx @markshawtoronto
65
+ - support basic auth for Rack prior to 2.0 thx @kadru
66
+
62
67
  ### Coverband 5.0.2
63
68
 
64
69
  - change default port of local server
@@ -63,18 +63,29 @@ module Coverband
63
63
  normalized_views = {}
64
64
  views.each_pair do |view, time|
65
65
  roots.each do |root|
66
- view = view.gsub(/#{root}/, "")
66
+ view = view.gsub(root, "")
67
67
  end
68
68
  normalized_views[view] = time
69
69
  end
70
70
  normalized_views
71
71
  end
72
72
 
73
+ def all_views
74
+ all_views = []
75
+ target.each do |view|
76
+ roots.each do |root|
77
+ view = view.gsub(root, "")
78
+ end
79
+ all_views << view
80
+ end
81
+ all_views.uniq
82
+ end
83
+
73
84
  def unused_views
74
85
  recently_used_views = used_views.keys
75
- all_views = target.reject { |view| recently_used_views.include?(view) }
86
+ unused_views = all_views.reject { |view| recently_used_views.include?(view) }
76
87
  # since layouts don't include format we count them used if they match with ANY formats
77
- all_views.reject { |view| view.match(/\/layouts\//) && recently_used_views.any? { |used_view| view.include?(used_view) } }
88
+ unused_views.reject { |view| view.match(/\/layouts\//) && recently_used_views.any? { |used_view| view.include?(used_view) } }
78
89
  end
79
90
 
80
91
  def as_json
@@ -23,7 +23,8 @@ module Coverband
23
23
  def check_auth
24
24
  return true unless Coverband.configuration.password
25
25
 
26
- auth_header = request.get_header("HTTP_AUTHORIZATION")
26
+ # support rack 1.6.x and rack 2.0 (get_header)
27
+ auth_header = request.respond_to?(:get_header) ? request.get_header("HTTP_AUTHORIZATION") : request.env["HTTP_AUTHORIZATION"]
27
28
  return unless auth_header
28
29
 
29
30
  Coverband.configuration.password == Base64.decode64(auth_header.split[1]).split(":")[1]
@@ -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.0.2"
8
+ VERSION = "5.0.3"
9
9
  end
@@ -43,4 +43,38 @@ if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.2.0")
43
43
  end
44
44
  end
45
45
  end
46
+
47
+ module Coverband
48
+ class AuthWebTest < Minitest::Test
49
+ include Rack::Test::Methods
50
+
51
+ def setup
52
+ super
53
+ @store = Coverband.configuration.store
54
+ Coverband.configure do |config|
55
+ config.password = "test_pass"
56
+ end
57
+ end
58
+
59
+ def app
60
+ Coverband::Reporters::Web.new
61
+ end
62
+
63
+ def teardown
64
+ super
65
+ end
66
+
67
+ test "renders index with basic auth" do
68
+ basic_authorize "anything", "test_pass"
69
+ get "/"
70
+ assert last_response.ok?
71
+ assert_match "Coverband Home", last_response.body
72
+ end
73
+
74
+ test "renders 401 auth error when not provided" do
75
+ get "/"
76
+ assert_equal 401, last_response.status
77
+ end
78
+ end
79
+ end
46
80
  end
@@ -25,6 +25,7 @@ class RailsFullStackTest < Minitest::Test
25
25
  Coverband.configuration.view_tracker&.report_views_tracked
26
26
  visit "/coverage/view_tracker"
27
27
  assert_content("Used Views: (1)")
28
+ assert_content("Unused Views: (2)")
28
29
  assert_selector("li.used-views", text: "dummy_view/show.html.erb")
29
30
  assert_selector("li.unused-views", text: "dummy_view/show_haml.html.haml")
30
31
  assert_selector("li.unused-views", text: "dummy_view/show_slim.html.slim")
@@ -35,6 +36,7 @@ class RailsFullStackTest < Minitest::Test
35
36
  Coverband.configuration.view_tracker&.report_views_tracked
36
37
  visit "/coverage/view_tracker"
37
38
  assert_content("Used Views: (2)")
39
+ assert_content("Unused Views: (1)")
38
40
  assert_selector("li.used-views", text: "dummy_view/show_haml.html.haml")
39
41
 
40
42
  visit "/dummy_view/show_slim"
@@ -43,6 +45,7 @@ class RailsFullStackTest < Minitest::Test
43
45
  Coverband.configuration.view_tracker&.report_views_tracked
44
46
  visit "/coverage/view_tracker"
45
47
  assert_content("Used Views: (3)")
48
+ assert_content("Unused Views: (0)")
46
49
  assert_selector("li.used-views", text: "dummy_view/show_slim.html.slim")
47
50
  end
48
51
  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.0.2
4
+ version: 5.0.3
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: 2020-09-30 00:00:00.000000000 Z
12
+ date: 2020-10-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: benchmark-ips