coverband 5.2.5.rc.2 → 5.2.5.rc.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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 371f700add3ee62e62457c7637526f35af0804eb2174d23e7ce0f838dfe3dbe1
|
4
|
+
data.tar.gz: 7e8d14239826ad9eb501afb37dca1fd5f26b5f3d9452c4d3baee57f5cfef5b6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 75fbb3421bab3ece39c76ef607e8fd4d79644a4fc97989c973ff28605b88acfbfd335ee448474388e0722d6b5ec0e1c7bcaa48f637b5b4da617111948ca02dc5
|
7
|
+
data.tar.gz: 7fbca23b6649391422521350b704731aad4052235f6cf3b2366b409310b2ed0feed78445df2f2466deb4ffc523d7d99e26dc26151a45b86af0de2257872044a0
|
@@ -27,7 +27,7 @@ module Coverband
|
|
27
27
|
action: route.defaults[:action],
|
28
28
|
url_path: route.path.spec.to_s.gsub("(.:format)", ""),
|
29
29
|
verb: route.verb
|
30
|
-
}
|
30
|
+
}
|
31
31
|
end
|
32
32
|
else
|
33
33
|
[]
|
@@ -62,9 +62,9 @@ module Coverband
|
|
62
62
|
}
|
63
63
|
else
|
64
64
|
{
|
65
|
-
controller: payload[:controller],
|
65
|
+
controller: payload[:params]["controller"],
|
66
66
|
action: payload[:action],
|
67
|
-
url_path:
|
67
|
+
url_path: nil,
|
68
68
|
verb: payload[:method]
|
69
69
|
}
|
70
70
|
end
|
@@ -81,16 +81,13 @@ module Coverband
|
|
81
81
|
end
|
82
82
|
|
83
83
|
def all_routes
|
84
|
-
|
85
|
-
target.each do |route|
|
86
|
-
all_routes << route
|
87
|
-
end
|
88
|
-
all_routes.uniq
|
84
|
+
target.uniq
|
89
85
|
end
|
90
86
|
|
91
87
|
def unused_routes(used_routes = nil)
|
92
88
|
recently_used_routes = (used_routes || self.used_routes).keys
|
93
|
-
|
89
|
+
# NOTE: we match with or without path to handle paths with named params like `/user/:user_id` to used routes filling with all the variable named paths
|
90
|
+
all_routes.reject { |r| recently_used_routes.include?(r.to_s) || recently_used_routes.include?(r.merge(url_path: nil).to_s) }
|
94
91
|
end
|
95
92
|
|
96
93
|
def as_json
|
data/lib/coverband/version.rb
CHANGED
@@ -42,10 +42,11 @@ class RouterTrackerTest < Minitest::Test
|
|
42
42
|
|
43
43
|
test "track controller routes" do
|
44
44
|
store = fake_store
|
45
|
-
route_hash = {controller: "
|
45
|
+
route_hash = {controller: "some/controller", action: "index", url_path: nil, verb: "GET"}
|
46
46
|
store.raw_store.expects(:hset).with(tracker_key, route_hash.to_s, anything)
|
47
47
|
tracker = Coverband::Collectors::RouteTracker.new(store: store, roots: "dir")
|
48
48
|
payload = {
|
49
|
+
params: {"controller" => "some/controller"},
|
49
50
|
controller: "SomeController",
|
50
51
|
action: "index",
|
51
52
|
path: "path",
|
@@ -58,9 +59,10 @@ class RouterTrackerTest < Minitest::Test
|
|
58
59
|
|
59
60
|
test "report used routes" do
|
60
61
|
store = fake_store
|
61
|
-
route_hash = {controller: "
|
62
|
+
route_hash = {controller: "some/controller", action: "index", url_path: nil, verb: "GET"}
|
62
63
|
tracker = Coverband::Collectors::RouteTracker.new(store: store, roots: "dir")
|
63
64
|
payload = {
|
65
|
+
params: {"controller" => "some/controller"},
|
64
66
|
controller: "SomeController",
|
65
67
|
action: "index",
|
66
68
|
path: "path",
|
@@ -73,8 +75,23 @@ class RouterTrackerTest < Minitest::Test
|
|
73
75
|
|
74
76
|
test "report unused routes" do
|
75
77
|
store = fake_store
|
76
|
-
|
78
|
+
app_routes = [
|
79
|
+
{
|
80
|
+
controller: "some/controller",
|
81
|
+
action: "show",
|
82
|
+
url_path: "some/controller/show",
|
83
|
+
verb: "GET"
|
84
|
+
},
|
85
|
+
{
|
86
|
+
controller: "some/controller",
|
87
|
+
action: "index",
|
88
|
+
url_path: "some/controller/show",
|
89
|
+
verb: "GET"
|
90
|
+
}
|
91
|
+
]
|
92
|
+
tracker = Coverband::Collectors::RouteTracker.new(store: store, roots: "dir", target: app_routes)
|
77
93
|
payload = {
|
94
|
+
params: {"controller" => "some/controller"},
|
78
95
|
controller: "SomeController",
|
79
96
|
action: "index",
|
80
97
|
path: "path",
|
@@ -82,12 +99,36 @@ class RouterTrackerTest < Minitest::Test
|
|
82
99
|
}
|
83
100
|
tracker.track_routes("name", "start", "finish", "id", payload)
|
84
101
|
tracker.report_routes_tracked
|
102
|
+
assert_equal [app_routes.first], tracker.unused_routes
|
103
|
+
end
|
104
|
+
|
105
|
+
test "report unused routes pulls out parameterized routes" do
|
106
|
+
store = fake_store
|
107
|
+
app_routes = [
|
108
|
+
{
|
109
|
+
controller: "some/controller",
|
110
|
+
action: "show",
|
111
|
+
url_path: "some/controller/:user_id",
|
112
|
+
verb: "GET"
|
113
|
+
}
|
114
|
+
]
|
115
|
+
tracker = Coverband::Collectors::RouteTracker.new(store: store, roots: "dir", target: app_routes)
|
116
|
+
payload = {
|
117
|
+
params: {"controller" => "some/controller"},
|
118
|
+
controller: "SomeController",
|
119
|
+
action: "show",
|
120
|
+
path: "some/controller/123",
|
121
|
+
method: "GET"
|
122
|
+
}
|
123
|
+
tracker.track_routes("name", "start", "finish", "id", payload)
|
124
|
+
tracker.report_routes_tracked
|
85
125
|
assert_equal [], tracker.unused_routes
|
86
126
|
end
|
87
127
|
|
88
128
|
test "reset store" do
|
89
129
|
store = fake_store
|
90
130
|
payload = {
|
131
|
+
params: {"controller" => "some/controller"},
|
91
132
|
controller: "SomeController",
|
92
133
|
action: "index",
|
93
134
|
path: "path",
|
@@ -102,9 +143,10 @@ class RouterTrackerTest < Minitest::Test
|
|
102
143
|
|
103
144
|
test "clear_file" do
|
104
145
|
store = fake_store
|
105
|
-
route_hash = {controller: "
|
146
|
+
route_hash = {controller: "some/controller", action: "index", url_path: nil, verb: "GET"}
|
106
147
|
tracker = Coverband::Collectors::RouteTracker.new(store: store, roots: "dir")
|
107
148
|
payload = {
|
149
|
+
params: {"controller" => "some/controller"},
|
108
150
|
controller: "SomeController",
|
109
151
|
action: "index",
|
110
152
|
path: "path",
|
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.5.rc.
|
4
|
+
version: 5.2.5.rc.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: 2022-11-
|
12
|
+
date: 2022-11-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: benchmark-ips
|