csp_report 0.3.0 → 0.4.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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +5 -0
  3. data/README.md +64 -24
  4. data/app/assets/javascripts/csp_report.js +2 -0
  5. data/app/assets/javascripts/csp_report/application.js +1 -0
  6. data/app/assets/javascripts/csp_report/report.js.coffee +4 -0
  7. data/app/assets/stylesheets/csp_report/bootstrap_and_overrides.css +7 -0
  8. data/app/assets/stylesheets/csp_report/csp_report.css.sass +19 -15
  9. data/app/controllers/csp_report/csp_reports_controller.rb +135 -0
  10. data/app/helpers/csp_report/headers_helpers.rb +32 -0
  11. data/app/views/csp_report/csp_reports/index.html.haml +60 -35
  12. data/app/views/csp_report/csp_reports/report_by_ip.html.haml +45 -0
  13. data/app/views/csp_report/csp_reports/report_by_rule.html.haml +46 -0
  14. data/app/views/csp_report/csp_reports/report_by_source.html.haml +46 -0
  15. data/config/routes.rb +4 -1
  16. data/lib/csp_report.rb +2 -0
  17. data/lib/csp_report/version.rb +1 -1
  18. data/lib/generators/csp_report/highcharts_include_generator.rb +14 -0
  19. data/lib/generators/csp_report/install_generator.rb +2 -0
  20. data/spec/controllers/csp_report/csp_reports_controller_spec.rb +132 -47
  21. data/spec/dummy/log/test.log +32398 -0
  22. data/spec/dummy/tmp/cache/assets/test/sass/745019acb880ec9412f97713489f02ba42209a06/csp_report.css.sassc +0 -0
  23. data/spec/dummy/tmp/cache/assets/test/sprockets/04b3e69eb694573268093bc96a12cb36 +0 -0
  24. data/spec/dummy/tmp/cache/assets/test/sprockets/05c90a274261cfca1eb2c000659570f5 +0 -0
  25. data/spec/dummy/tmp/cache/assets/test/sprockets/22f7ca496c173fb6290675535b2ea867 +0 -0
  26. data/spec/dummy/tmp/cache/assets/test/sprockets/27b25bddc744ae04b7e3f44fc2ff7b0a +0 -0
  27. data/spec/dummy/tmp/cache/assets/test/sprockets/2a6dae572905cab4d1414332fe21dd75 +0 -0
  28. data/spec/dummy/tmp/cache/assets/test/sprockets/325cfe516884cee28f48dc297246b1fc +0 -0
  29. data/spec/dummy/tmp/cache/assets/test/sprockets/391546e93f4c1edddf588160a1cedc5a +0 -0
  30. data/spec/dummy/tmp/cache/assets/test/sprockets/4949b199f7a3f61704ee406dfc99e38c +0 -0
  31. data/spec/dummy/tmp/cache/assets/test/sprockets/4f12538a5db5fd7fe75ebdcb6dc9b251 +0 -0
  32. data/spec/dummy/tmp/cache/assets/test/sprockets/50d961649ccb35a76acd4f63f6250361 +0 -0
  33. data/spec/dummy/tmp/cache/assets/test/sprockets/51522c13c1c4f9cf7dcfad7b204cf749 +0 -0
  34. data/spec/dummy/tmp/cache/assets/test/sprockets/56f7ae58d3064c45987cc434559f4dcb +0 -0
  35. data/spec/dummy/tmp/cache/assets/test/sprockets/5d4b85a2814f8d22d23ad047618fe032 +0 -0
  36. data/spec/dummy/tmp/cache/assets/test/sprockets/5d91dbec07ef096002d3f884edec8b55 +0 -0
  37. data/spec/dummy/tmp/cache/assets/test/sprockets/641ce249906eb1e5e40fe7309193e5a6 +0 -0
  38. data/spec/dummy/tmp/cache/assets/test/sprockets/71f1e2bbe4e3226070159a95e1690af9 +0 -0
  39. data/spec/dummy/tmp/cache/assets/test/sprockets/7f9fe739367238fbe3fe92a0362d8f33 +0 -0
  40. data/spec/dummy/tmp/cache/assets/test/sprockets/9b94cd42c6d3c0778772d609a4d7006d +0 -0
  41. data/spec/dummy/tmp/cache/assets/test/sprockets/b2fb1d4fcfbdd0431ec50d36c324e769 +0 -0
  42. data/spec/dummy/tmp/cache/assets/test/sprockets/bf4db1839fb7adc3305b797e33f5902c +0 -0
  43. data/spec/dummy/tmp/cache/assets/test/sprockets/d1841c51cd5922191135ddd5c6ed2b70 +0 -0
  44. data/spec/dummy/tmp/cache/assets/test/sprockets/dc4c1ce2dc434402713320ef23981262 +0 -0
  45. data/spec/dummy/tmp/cache/assets/test/sprockets/dd40235a4b424b2f80c80fe5cb993736 +0 -0
  46. data/spec/dummy/tmp/cache/assets/test/sprockets/de041484110f42c73b00c21167cfc7c2 +0 -0
  47. data/spec/dummy/tmp/cache/assets/test/sprockets/faef24ee109a081ff0b9346c27872274 +0 -0
  48. data/spec/factories/csp_report_csp_reports.rb +14 -6
  49. data/spec/features/csp_report/csp_reports_index_spec.rb +17 -0
  50. data/spec/features/csp_report/csp_reports_report_by_ip_spec.rb +12 -2
  51. data/spec/features/csp_report/csp_reports_report_by_rule_spec.rb +21 -0
  52. data/spec/features/csp_report/csp_reports_report_by_source_spec.rb +24 -0
  53. data/spec/routing/csp_reports_routes_spec.rb +9 -0
  54. data/spec/spec_helper.rb +1 -3
  55. metadata +114 -2
@@ -8,12 +8,20 @@ FactoryGirl.define do
8
8
  incoming_ip "127.0.0.1"
9
9
  end
10
10
 
11
- factory :local_home_index_inline, :class => 'CspReport::CspReport' do
11
+ factory :local_home_index_inline, parent: :local_inline do
12
12
  document_uri "http://localhost:3000/home/index"
13
- referrer ""
14
- blocked_uri ""
15
- violated_directive "script-src 'self'"
16
- original_policy "script-src 'self'; report-uri /csp/csp_reports"
17
- incoming_ip "127.0.0.1"
13
+ end
14
+
15
+ factory :local_ipv6_home_index_inline, parent: :local_home_index_inline do
16
+ incoming_ip "::1"
17
+ end
18
+
19
+ factory :local_home_about_inline, parent: :local_inline do
20
+ document_uri "http://localhost:3000/home/about"
21
+ end
22
+
23
+ factory :local_script_star, parent: :local_inline do
24
+ violated_directive "script-src *"
25
+ original_policy "script-src *; report-uri /csp/csp_reports"
18
26
  end
19
27
  end
@@ -78,4 +78,21 @@ describe 'CspReport index view' do
78
78
  {href: csp_reports_destroy_all_path}
79
79
  end
80
80
  end
81
+
82
+ describe 'Links to data presentation' do
83
+ it 'should have a link to the report by IP' do
84
+ visit csp_reports_path
85
+ page.should have_link 'By IP'
86
+ end
87
+
88
+ it 'should have a link to the report by Rule' do
89
+ visit csp_reports_path
90
+ page.should have_link 'By Violated Directive'
91
+ end
92
+
93
+ it 'should have a link to the report by Source' do
94
+ visit csp_reports_path
95
+ page.should have_link 'By Source Document URI'
96
+ end
97
+ end
81
98
  end
@@ -2,12 +2,22 @@ require 'spec_helper'
2
2
 
3
3
  describe 'CspReport report by IP view' do
4
4
  before(:each) do
5
- @localhost4 = FactoryGirl.create(:local_inline)
5
+ @localhost4 = FactoryGirl.create(:local_inline)
6
6
  @localhost4_2 = FactoryGirl.create(:local_home_index_inline)
7
- @localhost6 = FactoryGirl.create(:local_ipv6_home_index_inline)
7
+ @localhost6 = FactoryGirl.create(:local_ipv6_home_index_inline)
8
+ @localhost6_2 = FactoryGirl.create(:local_ipv6_home_index_inline)
9
+ end
10
+
11
+ it 'should display a table of breaches per IP' do
12
+ visit csp_reports_report_by_ip_path
13
+ page.should have_content('Incoming IP')
14
+ page.should have_content('Number of breaches reported')
8
15
  end
9
16
 
10
17
  it 'should display each IP only once' do
11
18
  visit csp_reports_report_by_ip_path
19
+ find('//table[@id="byip"]').text.scan(@localhost4.incoming_ip).size.should eq 1
20
+ find('//table[@id="byip"]').text.scan(@localhost6.incoming_ip).size.should eq 1
12
21
  end
22
+
13
23
  end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'CspReport report by rule view' do
4
+ before(:each) do
5
+ @script_self = FactoryGirl.create(:local_inline)
6
+ @script_star = FactoryGirl.create(:local_script_star)
7
+ end
8
+
9
+ it 'should display a table of breaches per rule' do
10
+ visit csp_reports_report_by_rule_path
11
+ page.should have_content('Violated Directive')
12
+ page.should have_content('Number of breaches reported')
13
+ end
14
+
15
+ it 'should display each rule only once' do
16
+ visit csp_reports_report_by_rule_path
17
+ find('//table[@id="byrule"]').text.scan(@script_self.violated_directive).size.should eq 1
18
+ find('//table[@id="byrule"]').text.scan(@script_star.violated_directive).size.should eq 1
19
+ end
20
+
21
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'CspReport report by source view' do
4
+ before(:each) do
5
+ @script_about = FactoryGirl.create(:local_home_about_inline)
6
+ @script_home = FactoryGirl.create(:local_home_index_inline)
7
+ @script_about_2 = FactoryGirl.create(:local_home_about_inline)
8
+ @script_home_2 = FactoryGirl.create(:local_home_index_inline)
9
+ end
10
+
11
+ it 'should display a table of breaches per sources' do
12
+ visit csp_reports_report_by_source_path
13
+ page.should have_content('Source Document URI')
14
+ page.should have_content('Number of breaches reported')
15
+ end
16
+
17
+ it 'should display each source only once' do
18
+ visit csp_reports_report_by_source_path
19
+ find('//table[@id="bysource"]').text.scan(@script_home.document_uri).size.should eq 1
20
+ find('//table[@id="bysource"]').text.scan(@script_about.document_uri).size.should eq 1
21
+ end
22
+
23
+ end
24
+
@@ -16,4 +16,13 @@ describe 'csp_report routing' do
16
16
  it 'should respond to delete_all requests' do
17
17
  get('/csp_reports/destroy_all').should route_to 'csp_report/csp_reports#destroy_all'
18
18
  end
19
+ it 'should respond to report_by_ip requests' do
20
+ get('/csp_reports/report_by_ip').should route_to 'csp_report/csp_reports#report_by_ip'
21
+ end
22
+ it 'should respond to report_by_rule requests' do
23
+ get('/csp_reports/report_by_rule').should route_to 'csp_report/csp_reports#report_by_rule'
24
+ end
25
+ it 'should respond to report_by_source requests' do
26
+ get('/csp_reports/report_by_source').should route_to 'csp_report/csp_reports#report_by_source'
27
+ end
19
28
  end
data/spec/spec_helper.rb CHANGED
@@ -27,8 +27,6 @@ Spork.prefork do
27
27
  # If you are not using ActiveRecord, you can remove this line.
28
28
  ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
29
29
 
30
- FactoryGirl.find_definitions
31
-
32
30
  RSpec.configure do |config|
33
31
  # For engine testing. Makes the Engine routes helpers available to the test files
34
32
  config.include CspReport::Engine.routes.url_helpers
@@ -64,5 +62,5 @@ end
64
62
 
65
63
  Spork.each_run do
66
64
  # This code will be run each time you run your specs.
67
-
65
+ FactoryGirl.find_definitions
68
66
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: csp_report
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregory Bataille
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-16 00:00:00.000000000 Z
11
+ date: 2013-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -52,6 +52,62 @@ dependencies:
52
52
  - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.5.8
55
+ - !ruby/object:Gem::Dependency
56
+ name: jquery-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 3.0.4
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 3.0.4
69
+ - !ruby/object:Gem::Dependency
70
+ name: lazy_high_charts
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 1.4.3
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 1.4.3
83
+ - !ruby/object:Gem::Dependency
84
+ name: coffee-rails
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 4.0.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 4.0.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: twitter-bootstrap-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 2.2.8
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 2.2.8
55
111
  - !ruby/object:Gem::Dependency
56
112
  name: sqlite3
57
113
  requirement: !ruby/object:Gem::Requirement
@@ -214,13 +270,20 @@ extensions: []
214
270
  extra_rdoc_files: []
215
271
  files:
216
272
  - app/assets/javascripts/csp_report/application.js
273
+ - app/assets/javascripts/csp_report/report.js.coffee
274
+ - app/assets/javascripts/csp_report.js
217
275
  - app/assets/stylesheets/csp_report/application.css
276
+ - app/assets/stylesheets/csp_report/bootstrap_and_overrides.css
218
277
  - app/assets/stylesheets/csp_report/csp_report.css.sass
219
278
  - app/controllers/csp_report/application_controller.rb
220
279
  - app/controllers/csp_report/csp_reports_controller.rb
221
280
  - app/helpers/csp_report/application_helper.rb
281
+ - app/helpers/csp_report/headers_helpers.rb
222
282
  - app/models/csp_report/csp_report.rb
223
283
  - app/views/csp_report/csp_reports/index.html.haml
284
+ - app/views/csp_report/csp_reports/report_by_ip.html.haml
285
+ - app/views/csp_report/csp_reports/report_by_rule.html.haml
286
+ - app/views/csp_report/csp_reports/report_by_source.html.haml
224
287
  - app/views/layouts/csp_report/application.html.erb
225
288
  - config/routes.rb
226
289
  - db/migrate/20130630091108_create_csp_report_csp_reports.rb
@@ -229,6 +292,7 @@ files:
229
292
  - lib/csp_report/version.rb
230
293
  - lib/csp_report.rb
231
294
  - lib/generators/csp_report/csp_declaration_generator.rb
295
+ - lib/generators/csp_report/highcharts_include_generator.rb
232
296
  - lib/generators/csp_report/initializer_install_generator.rb
233
297
  - lib/generators/csp_report/install_generator.rb
234
298
  - lib/generators/csp_report/migration_generator.rb
@@ -297,22 +361,46 @@ files:
297
361
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
298
362
  - spec/dummy/tmp/cache/assets/test/sass/3993bbee5479f52ce0cb34d1bfbe0a6755e8c605/home.css.scssc
299
363
  - spec/dummy/tmp/cache/assets/test/sass/745019acb880ec9412f97713489f02ba42209a06/csp_report.css.sassc
364
+ - spec/dummy/tmp/cache/assets/test/sprockets/04b3e69eb694573268093bc96a12cb36
365
+ - spec/dummy/tmp/cache/assets/test/sprockets/05c90a274261cfca1eb2c000659570f5
300
366
  - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
301
367
  - spec/dummy/tmp/cache/assets/test/sprockets/1638f87db345b13872695759502b54fe
302
368
  - spec/dummy/tmp/cache/assets/test/sprockets/1c9faaf28d05409b88ad3113374d613c
369
+ - spec/dummy/tmp/cache/assets/test/sprockets/22f7ca496c173fb6290675535b2ea867
370
+ - spec/dummy/tmp/cache/assets/test/sprockets/27b25bddc744ae04b7e3f44fc2ff7b0a
371
+ - spec/dummy/tmp/cache/assets/test/sprockets/2a6dae572905cab4d1414332fe21dd75
303
372
  - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
373
+ - spec/dummy/tmp/cache/assets/test/sprockets/325cfe516884cee28f48dc297246b1fc
304
374
  - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
375
+ - spec/dummy/tmp/cache/assets/test/sprockets/391546e93f4c1edddf588160a1cedc5a
305
376
  - spec/dummy/tmp/cache/assets/test/sprockets/4949b199f7a3f61704ee406dfc99e38c
377
+ - spec/dummy/tmp/cache/assets/test/sprockets/4f12538a5db5fd7fe75ebdcb6dc9b251
378
+ - spec/dummy/tmp/cache/assets/test/sprockets/50d961649ccb35a76acd4f63f6250361
379
+ - spec/dummy/tmp/cache/assets/test/sprockets/51522c13c1c4f9cf7dcfad7b204cf749
380
+ - spec/dummy/tmp/cache/assets/test/sprockets/56f7ae58d3064c45987cc434559f4dcb
381
+ - spec/dummy/tmp/cache/assets/test/sprockets/5d4b85a2814f8d22d23ad047618fe032
382
+ - spec/dummy/tmp/cache/assets/test/sprockets/5d91dbec07ef096002d3f884edec8b55
383
+ - spec/dummy/tmp/cache/assets/test/sprockets/641ce249906eb1e5e40fe7309193e5a6
384
+ - spec/dummy/tmp/cache/assets/test/sprockets/71f1e2bbe4e3226070159a95e1690af9
385
+ - spec/dummy/tmp/cache/assets/test/sprockets/7f9fe739367238fbe3fe92a0362d8f33
306
386
  - spec/dummy/tmp/cache/assets/test/sprockets/9b94cd42c6d3c0778772d609a4d7006d
387
+ - spec/dummy/tmp/cache/assets/test/sprockets/b2fb1d4fcfbdd0431ec50d36c324e769
307
388
  - spec/dummy/tmp/cache/assets/test/sprockets/b878faf942403e313a5b103e5d80488e
389
+ - spec/dummy/tmp/cache/assets/test/sprockets/bf4db1839fb7adc3305b797e33f5902c
308
390
  - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
391
+ - spec/dummy/tmp/cache/assets/test/sprockets/d1841c51cd5922191135ddd5c6ed2b70
309
392
  - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
310
393
  - spec/dummy/tmp/cache/assets/test/sprockets/dc4c1ce2dc434402713320ef23981262
394
+ - spec/dummy/tmp/cache/assets/test/sprockets/dd40235a4b424b2f80c80fe5cb993736
395
+ - spec/dummy/tmp/cache/assets/test/sprockets/de041484110f42c73b00c21167cfc7c2
311
396
  - spec/dummy/tmp/cache/assets/test/sprockets/f1663d34d4b6003379113df98f1433a5
312
397
  - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
398
+ - spec/dummy/tmp/cache/assets/test/sprockets/faef24ee109a081ff0b9346c27872274
313
399
  - spec/factories/csp_report_csp_reports.rb
314
400
  - spec/features/csp_report/csp_reports_index_spec.rb
315
401
  - spec/features/csp_report/csp_reports_report_by_ip_spec.rb
402
+ - spec/features/csp_report/csp_reports_report_by_rule_spec.rb
403
+ - spec/features/csp_report/csp_reports_report_by_source_spec.rb
316
404
  - spec/generators/csp_report/initializer_install_generator_spec.rb
317
405
  - spec/generators/csp_report/mount_generator_spec.rb
318
406
  - spec/models/csp_report/csp_report_spec.rb
@@ -403,22 +491,46 @@ test_files:
403
491
  - spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655
404
492
  - spec/dummy/tmp/cache/assets/test/sass/3993bbee5479f52ce0cb34d1bfbe0a6755e8c605/home.css.scssc
405
493
  - spec/dummy/tmp/cache/assets/test/sass/745019acb880ec9412f97713489f02ba42209a06/csp_report.css.sassc
494
+ - spec/dummy/tmp/cache/assets/test/sprockets/04b3e69eb694573268093bc96a12cb36
495
+ - spec/dummy/tmp/cache/assets/test/sprockets/05c90a274261cfca1eb2c000659570f5
406
496
  - spec/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705
407
497
  - spec/dummy/tmp/cache/assets/test/sprockets/1638f87db345b13872695759502b54fe
408
498
  - spec/dummy/tmp/cache/assets/test/sprockets/1c9faaf28d05409b88ad3113374d613c
499
+ - spec/dummy/tmp/cache/assets/test/sprockets/22f7ca496c173fb6290675535b2ea867
500
+ - spec/dummy/tmp/cache/assets/test/sprockets/27b25bddc744ae04b7e3f44fc2ff7b0a
501
+ - spec/dummy/tmp/cache/assets/test/sprockets/2a6dae572905cab4d1414332fe21dd75
409
502
  - spec/dummy/tmp/cache/assets/test/sprockets/2f5173deea6c795b8fdde723bb4b63af
503
+ - spec/dummy/tmp/cache/assets/test/sprockets/325cfe516884cee28f48dc297246b1fc
410
504
  - spec/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953
505
+ - spec/dummy/tmp/cache/assets/test/sprockets/391546e93f4c1edddf588160a1cedc5a
411
506
  - spec/dummy/tmp/cache/assets/test/sprockets/4949b199f7a3f61704ee406dfc99e38c
507
+ - spec/dummy/tmp/cache/assets/test/sprockets/4f12538a5db5fd7fe75ebdcb6dc9b251
508
+ - spec/dummy/tmp/cache/assets/test/sprockets/50d961649ccb35a76acd4f63f6250361
509
+ - spec/dummy/tmp/cache/assets/test/sprockets/51522c13c1c4f9cf7dcfad7b204cf749
510
+ - spec/dummy/tmp/cache/assets/test/sprockets/56f7ae58d3064c45987cc434559f4dcb
511
+ - spec/dummy/tmp/cache/assets/test/sprockets/5d4b85a2814f8d22d23ad047618fe032
512
+ - spec/dummy/tmp/cache/assets/test/sprockets/5d91dbec07ef096002d3f884edec8b55
513
+ - spec/dummy/tmp/cache/assets/test/sprockets/641ce249906eb1e5e40fe7309193e5a6
514
+ - spec/dummy/tmp/cache/assets/test/sprockets/71f1e2bbe4e3226070159a95e1690af9
515
+ - spec/dummy/tmp/cache/assets/test/sprockets/7f9fe739367238fbe3fe92a0362d8f33
412
516
  - spec/dummy/tmp/cache/assets/test/sprockets/9b94cd42c6d3c0778772d609a4d7006d
517
+ - spec/dummy/tmp/cache/assets/test/sprockets/b2fb1d4fcfbdd0431ec50d36c324e769
413
518
  - spec/dummy/tmp/cache/assets/test/sprockets/b878faf942403e313a5b103e5d80488e
519
+ - spec/dummy/tmp/cache/assets/test/sprockets/bf4db1839fb7adc3305b797e33f5902c
414
520
  - spec/dummy/tmp/cache/assets/test/sprockets/cffd775d018f68ce5dba1ee0d951a994
521
+ - spec/dummy/tmp/cache/assets/test/sprockets/d1841c51cd5922191135ddd5c6ed2b70
415
522
  - spec/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6
416
523
  - spec/dummy/tmp/cache/assets/test/sprockets/dc4c1ce2dc434402713320ef23981262
524
+ - spec/dummy/tmp/cache/assets/test/sprockets/dd40235a4b424b2f80c80fe5cb993736
525
+ - spec/dummy/tmp/cache/assets/test/sprockets/de041484110f42c73b00c21167cfc7c2
417
526
  - spec/dummy/tmp/cache/assets/test/sprockets/f1663d34d4b6003379113df98f1433a5
418
527
  - spec/dummy/tmp/cache/assets/test/sprockets/f7cbd26ba1d28d48de824f0e94586655
528
+ - spec/dummy/tmp/cache/assets/test/sprockets/faef24ee109a081ff0b9346c27872274
419
529
  - spec/factories/csp_report_csp_reports.rb
420
530
  - spec/features/csp_report/csp_reports_index_spec.rb
421
531
  - spec/features/csp_report/csp_reports_report_by_ip_spec.rb
532
+ - spec/features/csp_report/csp_reports_report_by_rule_spec.rb
533
+ - spec/features/csp_report/csp_reports_report_by_source_spec.rb
422
534
  - spec/generators/csp_report/initializer_install_generator_spec.rb
423
535
  - spec/generators/csp_report/mount_generator_spec.rb
424
536
  - spec/models/csp_report/csp_report_spec.rb