@@ -27,6 +27,14 @@ def dynamic_content
27
27
end
28
28
RUBY
29
29
30
+ app_file "app/controllers/name_spaced/users_controller.rb" , <<-RUBY
31
+ class NameSpaced::UsersController < ApplicationController
32
+ def index
33
+ render inline: ActiveRecord::QueryLogs.call("")
34
+ end
35
+ end
36
+ RUBY
37
+
30
38
app_file "app/jobs/user_job.rb" , <<-RUBY
31
39
class UserJob < ActiveJob::Base
32
40
def perform
@@ -42,6 +50,7 @@ def dynamic_content
42
50
app_file "config/routes.rb" , <<-RUBY
43
51
Rails.application.routes.draw do
44
52
get "/", to: "users#index"
53
+ get "/namespaced/users", to: "name_spaced/users#index"
45
54
end
46
55
RUBY
47
56
end
@@ -136,7 +145,7 @@ def app
136
145
get "/"
137
146
comment = last_response . body . strip
138
147
139
- assert_match ( /\/ \* action='index',namespaced_controller='UsersController ',pid='\d +'\* \/ / , comment )
148
+ assert_match ( /\/ \* action='index',namespaced_controller='users ',pid='\d +'\* \/ / , comment )
140
149
end
141
150
142
151
test "job perform method has tagging filters enabled by default" do
@@ -202,6 +211,37 @@ def app
202
211
assert_not_equal first_tags , second_tags
203
212
end
204
213
214
+ test "controller and namespaced_controller are named correctly" do
215
+ add_to_config "config.active_record.query_log_tags_enabled = true"
216
+ add_to_config "config.active_record.query_log_tags = [ :action, :namespaced_controller, :controller ]"
217
+
218
+ boot_app
219
+
220
+ get "/"
221
+ comment = last_response . body . strip
222
+ assert_equal %(/*action='index',controller='users',namespaced_controller='users'*/) , comment
223
+
224
+ get "/namespaced/users"
225
+ comment = last_response . body . strip
226
+ assert_equal %(/*action='index',controller='users',namespaced_controller='name_spaced%2Fusers'*/) , comment
227
+ end
228
+
229
+ test "controller and namespaced_controller are named correctly, legacy" do
230
+ add_to_config "config.active_record.query_log_tags_enabled = true"
231
+ add_to_config "config.active_record.query_log_tags = [ :action, :namespaced_controller, :controller ]"
232
+ add_to_config "config.active_record.query_log_tags_format = :legacy"
233
+
234
+ boot_app
235
+
236
+ get "/"
237
+ comment = last_response . body . strip
238
+ assert_equal %(/*action:index,namespaced_controller:users,controller:users*/) , comment
239
+
240
+ get "/namespaced/users"
241
+ comment = last_response . body . strip
242
+ assert_equal %(/*action:index,namespaced_controller:name_spaced/users,controller:users*/) , comment
243
+ end
244
+
205
245
private
206
246
def boot_app ( env = "production" )
207
247
ENV [ "RAILS_ENV" ] = env
0 commit comments