rocketjob_mission_control 5.0.0.beta1 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/Rakefile +1 -2
  4. data/app/assets/config/manifest.js +3 -0
  5. data/app/assets/javascripts/rocket_job_mission_control/application.js +3 -5
  6. data/app/assets/javascripts/rocket_job_mission_control/nested_fields.js +112 -0
  7. data/app/assets/stylesheets/rocket_job_mission_control/{application.scss → application.css} +9 -9
  8. data/app/assets/stylesheets/rocket_job_mission_control/base.css +420 -0
  9. data/app/assets/stylesheets/rocket_job_mission_control/{callout.scss → callout.css} +50 -52
  10. data/app/assets/stylesheets/rocket_job_mission_control/jobs.css +56 -0
  11. data/app/assets/stylesheets/rocket_job_mission_control/worker_processes.css +7 -0
  12. data/app/controllers/rocket_job_mission_control/application_controller.rb +3 -1
  13. data/app/controllers/rocket_job_mission_control/dirmon_entries_controller.rb +40 -21
  14. data/app/controllers/rocket_job_mission_control/jobs_controller.rb +50 -7
  15. data/app/controllers/rocket_job_mission_control/servers_controller.rb +7 -7
  16. data/app/datatables/rocket_job_mission_control/dirmon_entries_datatable.rb +1 -1
  17. data/app/datatables/rocket_job_mission_control/jobs_datatable.rb +1 -1
  18. data/app/helpers/rocket_job_mission_control/application_helper.rb +51 -26
  19. data/app/helpers/rocket_job_mission_control/dirmon_entries_helper.rb +12 -0
  20. data/app/helpers/rocket_job_mission_control/jobs_helper.rb +76 -8
  21. data/app/helpers/rocket_job_mission_control/servers_helper.rb +4 -0
  22. data/app/models/rocket_job_mission_control/access_policy.rb +2 -2
  23. data/app/models/rocket_job_mission_control/dirmon_sanitizer.rb +68 -0
  24. data/app/models/rocket_job_mission_control/job_sanitizer.rb +37 -0
  25. data/app/views/layouts/rocket_job_mission_control/partials/_flash.html.erb +4 -4
  26. data/app/views/rocket_job_mission_control/dirmon_entries/_form.html.erb +78 -42
  27. data/app/views/rocket_job_mission_control/dirmon_entries/_input_categories.html.erb +59 -0
  28. data/app/views/rocket_job_mission_control/dirmon_entries/_input_category_fields.html.erb +56 -0
  29. data/app/views/rocket_job_mission_control/dirmon_entries/_output_categories.html.erb +44 -0
  30. data/app/views/rocket_job_mission_control/dirmon_entries/_output_category_fields.html.erb +36 -0
  31. data/app/views/rocket_job_mission_control/dirmon_entries/_status.html.erb +22 -16
  32. data/app/views/rocket_job_mission_control/dirmon_entries/copy.html.erb +4 -0
  33. data/app/views/rocket_job_mission_control/dirmon_entries/edit.html.erb +7 -3
  34. data/app/views/rocket_job_mission_control/dirmon_entries/show.html.erb +8 -5
  35. data/app/views/rocket_job_mission_control/jobs/_attributes.html.erb +28 -0
  36. data/app/views/rocket_job_mission_control/jobs/_dates.html.erb +35 -0
  37. data/app/views/rocket_job_mission_control/jobs/_details.html.erb +125 -0
  38. data/app/views/rocket_job_mission_control/jobs/_exception.html.erb +22 -0
  39. data/app/views/rocket_job_mission_control/jobs/_input_categories.html.erb +76 -0
  40. data/app/views/rocket_job_mission_control/jobs/_input_category_fields.html.erb +56 -0
  41. data/app/views/rocket_job_mission_control/jobs/_output_categories.html.erb +49 -0
  42. data/app/views/rocket_job_mission_control/jobs/_output_category_fields.html.erb +36 -0
  43. data/app/views/rocket_job_mission_control/jobs/_retryable.html.erb +16 -0
  44. data/app/views/rocket_job_mission_control/jobs/_status.html.erb +20 -48
  45. data/app/views/rocket_job_mission_control/jobs/edit.html.erb +28 -0
  46. data/app/views/rocket_job_mission_control/jobs/edit_slice.html.erb +2 -2
  47. data/app/views/rocket_job_mission_control/jobs/exception.html.erb +1 -1
  48. data/app/views/rocket_job_mission_control/jobs/index.html.erb +24 -18
  49. data/app/views/rocket_job_mission_control/jobs/show.html.erb +32 -58
  50. data/app/views/rocket_job_mission_control/jobs/view_slice.html.erb +6 -4
  51. data/config/initializers/assets.rb +3 -4
  52. data/config/routes.rb +4 -0
  53. data/lib/rocket_job_mission_control/engine.rb +0 -3
  54. data/lib/rocket_job_mission_control/version.rb +1 -1
  55. data/test/controllers/rocket_job_mission_control/application_controller_test.rb +4 -12
  56. data/test/controllers/rocket_job_mission_control/dirmon_entries_controller_test.rb +20 -52
  57. data/test/controllers/rocket_job_mission_control/jobs_controller_test.rb +21 -41
  58. data/test/controllers/rocket_job_mission_control/servers_controller_test.rb +3 -3
  59. data/test/models/rocket_job_mission_control/dirmon_sanitizer_test.rb +146 -0
  60. data/test/models/rocket_job_mission_control/job_sanitizer_test.rb +9 -3
  61. data/test/test_helper.rb +6 -12
  62. data/vendor/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  63. data/vendor/assets/fonts/glyphicons-halflings-regular.svg +288 -0
  64. data/vendor/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  65. data/vendor/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  66. data/vendor/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
  67. data/vendor/assets/javascripts/bootstrap.min.js +3 -4
  68. data/vendor/assets/javascripts/datatables.min.js +881 -0
  69. data/vendor/assets/javascripts/jquery-3.5.1.min.js +2 -0
  70. data/vendor/assets/stylesheets/bootstrap.min.css.erb +6 -0
  71. data/vendor/assets/stylesheets/bootstrap.min.css.map +1 -1
  72. data/vendor/assets/stylesheets/datatables.min.css +141 -0
  73. metadata +60 -63
  74. data/app/assets/stylesheets/rocket_job_mission_control/base.scss +0 -436
  75. data/app/assets/stylesheets/rocket_job_mission_control/bootstrap_and_overrides.scss +0 -488
  76. data/app/assets/stylesheets/rocket_job_mission_control/jobs.scss +0 -72
  77. data/app/assets/stylesheets/rocket_job_mission_control/worker_processes.scss +0 -9
  78. data/vendor/assets/stylesheets/bootstrap.min.css +0 -6
@@ -1,58 +1,30 @@
1
- <% status = job.status(Time.zone) %>
2
-
3
- <div class='id'>
4
- <label>ID:</label> <%= status.delete('_id') %>
5
- </div>
6
-
7
- <% if description = status.delete('description') %>
8
- <div class='status-message'><label>Description:</label> <%= description %></div>
1
+ <%= render partial: 'details', locals: {job: @job} %>
2
+ <%= render partial: 'dates', locals: {job: @job} %>
3
+ <% if @job.respond_to?(:failed_at_list) && @job.failed_at_list.present? %>
4
+ <%= render partial: 'retryable', locals: {job: @job} %>
9
5
  <% end %>
10
-
11
- <% if duration = status.delete('duration') %>
12
- <div class='status-message'><label>Duration:</label> <%= duration %></div>
6
+ <% @attributes = job_custom_fields(@job) %>
7
+ <% if @attributes.present? %>
8
+ <%= render partial: 'attributes', locals: {attributes: @attributes} %>
13
9
  <% end %>
14
-
15
- <% if record_count = status.delete('record_count') %>
16
- <div class='status-message'><label>Record Count:</label> <%= record_count %></div>
17
- <% end %>
18
-
19
- <div class='created_at'>
20
- <label>Created At:</label> <%= status.delete('created_at') %>
21
- </div>
22
-
23
- <% if started_at = status.delete('started_at') %>
24
- <div class='status-message'><label>Started At:</label> <%= started_at %></div>
25
- <% end %>
26
-
27
- <% if percent_complete = status.delete('percent_complete') %>
28
- <div class='status-message'><label>% Complete:</label> <%= percent_complete %></div>
29
- <% end %>
30
-
31
- <%
32
- remaining = {}
33
- status.each_pair do |key, value|
34
- next if ((value != false) && value.blank?) || ['state', '_type', 'sub_state'].include?(key)
35
- if value.kind_of?(Hash) || value.kind_of?(Array)
36
- remaining[key] = value
37
- next
38
- end
39
- %>
40
- <div class='status-message'><label><%= key.to_s.titleize %>:</label> <%= value %></div>
41
- <% end %>
42
-
43
- <div class='clearfix'></div>
44
-
45
- <% if job.respond_to?('input') && job.input.failed.count.positive? %>
46
- <% status.delete('exception') %>
10
+ <% if @job.respond_to?(:input) && @job.input.failed.count.positive? %>
47
11
  <div class='status-message'>
48
12
  <label><%= 'Exceptions' %>:</label>
49
13
  <%= render partial: 'exceptions', locals: {job: @job} %>
50
14
  </div>
15
+ <% elsif @job.exception.present? %>
16
+ <%= render partial: 'exception', locals: {job: @job} %>
51
17
  <% end %>
52
-
53
- <% remaining.each_pair do |key, value| %>
18
+ <% if @job.respond_to?(:statistics) && @job.statistics.present? %>
54
19
  <div class='status-message'>
55
- <label><%= key.to_s.titleize %>:</label>
56
- <pre><code><%= pretty_print_array_or_hash(value) %></code></pre>
20
+ <label>Statistics:</label>
21
+ <td><%= @job.statistics.ai(html: true, plain: true, sort_keys: true) %></td>
57
22
  </div>
23
+ <br/>
24
+ <% end %>
25
+ <% if @job.respond_to?(:input_categories) && @job.input_categories.present? %>
26
+ <%= render partial: 'input_categories', locals: {job: @job} %>
27
+ <% end %>
28
+ <% if @job.respond_to?(:output_categories) && @job.output_categories.present? %>
29
+ <%= render partial: 'output_categories', locals: {job: @job} %>
58
30
  <% end %>
@@ -24,6 +24,34 @@
24
24
  <% end %>
25
25
  </div>
26
26
  </div>
27
+
28
+ <% if @job.class.respond_to?(:defined_input_categories) && @job.class.respond_to?(:defined_output_categories) %>
29
+ <div class="row">
30
+ <div class="col-sm-6">
31
+ <div class="panel panel-primary">
32
+ <div class="panel-body">
33
+ <div class='lead'>Input Categories</div>
34
+
35
+ <%= f.fields_for :input_categories do |i| %>
36
+ <%= render "input_category_fields.html", f: i %>
37
+ <% end %>
38
+ </div>
39
+ </div>
40
+ </div>
41
+
42
+ <div class="col-sm-6">
43
+ <div class="panel panel-success">
44
+ <div class="panel-body">
45
+ <div class='lead'>Output Categories</div>
46
+
47
+ <%= f.fields_for :output_categories do |o| %>
48
+ <%= render "output_category_fields.html", f: o %>
49
+ <% end %>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </div>
54
+ <% end %>
27
55
  </div>
28
56
  </div>
29
57
 
@@ -6,9 +6,9 @@
6
6
  <%= form_for(:job, url: update_slice_job_path(@job, offset: @offset, error_type: @failure_exception.class_name), method: :patch) do |f| %>
7
7
  <% @lines.each_with_index do |line, index| %>
8
8
  <% if @line_index == index %>
9
- <%= f.text_area :records, :value => line, class: 'input_slices', id: index, multiple: true %>
9
+ <%= f.text_area :records, value: line, class: 'input_slices', id: index, multiple: true, rows: 14, cols: 10, wrap: "soft" %>
10
10
  <% else %>
11
- <%= f.hidden_field :records, :value => line, class: 'input_slices', id: index, multiple: true %>
11
+ <%= f.hidden_field :records, value: line, class: 'input_slices', id: index, multiple: true %>
12
12
  <% end %>
13
13
  <% end %>
14
14
 
@@ -11,7 +11,7 @@
11
11
  <div class='clearfix'></div>
12
12
 
13
13
  <div class='message'>
14
- <pre><code><%= @failure_exception.message %></code></pre>
14
+ <pre><code class="language-html"><%= @failure_exception.message %></code></pre>
15
15
  </div>
16
16
 
17
17
  <div class='error'>
@@ -1,28 +1,34 @@
1
1
  <div class='job-list'>
2
2
  <div class='list'>
3
- <div class='row'>
4
- <div class='col-sm-10'>
5
- <h2><%= @description %> Jobs</h2>
6
- </div>
3
+ <div class="panel panel-default">
4
+ <div class="panel-heading">
5
+ <div class='row'>
6
+ <div class='col-sm-10'>
7
+ <h2><%= @description %> Jobs</h2>
8
+ </div>
7
9
 
8
- <div class='col-sm-2'>
9
- <div class='btn btn-default pull-right dt-reload' data-behavior='reload'>
10
- <i class='fas fa-sync'></i>
10
+ <div class='col-sm-2'>
11
+ <div class='btn btn-default pull-right dt-reload' data-behavior='reload'>
12
+ <i class='fas fa-sync'></i>
13
+ </div>
14
+ </div>
11
15
  </div>
12
16
  </div>
13
- </div>
14
17
 
15
- <table class='table datatable jobs-datatable' data-source='<%= @data_table_url %>' style='width: 100%'>
16
- <thead>
17
- <tr>
18
- <% @columns.each do |column| %>
19
- <th><%= column[:display] %></th>
20
- <% end %>
21
- </tr>
22
- </thead>
18
+ <div class="panel-body">
19
+ <table class='table datatable jobs-datatable' data-source='<%= @data_table_url %>' style='width: 100%'>
20
+ <thead>
21
+ <tr>
22
+ <% @columns.each do |column| %>
23
+ <th><%= column[:display] %></th>
24
+ <% end %>
25
+ </tr>
26
+ </thead>
23
27
 
24
- <tbody></tbody>
25
- </table>
28
+ <tbody></tbody>
29
+ </table>
30
+ </div>
31
+ </div>
26
32
  </div>
27
33
  </div>
28
34
 
@@ -1,70 +1,44 @@
1
1
  <div class='row'>
2
- <div class='col-md-12 job-status'>
3
- <div id='job'>
4
- <div class='lead'><%= @job.class.name %></div>
2
+ <div id='job'>
3
+ <div class='lead'><%= image_tag('rocket_job_mission_control/rocket-icon-64x64.png') %><%= @job.class.name %>
5
4
 
6
- <div class='job-state inline-block'>
7
- <div class='left'>State</div>
8
- <div class="<%= job_state(@job) %> right"><%= job_state(@job) %></div>
9
- </div>
10
-
11
- <% if sub_state = @job['sub_state'] %>
12
- <div class='job-state inline-block'>
13
- <div class='left'>Batch</div>
14
- <div class='running right'><%= @job.sub_state %></div>
5
+ <div class='btn-toolbar job-actions'>
6
+ <% if @job.scheduled? && can?(:run_now, @job) %>
7
+ <div class='btn-group'>
8
+ <%= job_action_links_for_show('Run', rocket_job_mission_control.run_now_job_path(@job), :patch) %>
15
9
  </div>
16
10
  <% end %>
17
11
 
18
- <div class='btn-toolbar job-actions pull-right'>
19
-
20
- <% if @job.scheduled? && can?(:run_now, @job) %>
12
+ <div class='left-margin'>
13
+ <% valid_events = @job.aasm.events.collect { |e| e.name } %>
14
+ <% if valid_events.include?(:pause) && @job.pausable? && can?(:pause, @job) %>
15
+ <%= job_action_links_for_show('Pause', rocket_job_mission_control.pause_job_path(@job), :patch) %>
16
+ <% end %>
17
+ <% if valid_events.include?(:resume) && can?(:resume, @job) %>
18
+ <%= job_action_links_for_show('Resume', rocket_job_mission_control.resume_job_path(@job), :patch) %>
19
+ <% end %>
20
+ <% if valid_events.include?(:retry) && can?(:retry, @job) %>
21
+ <%= job_action_links_for_show('Retry', rocket_job_mission_control.retry_job_path(@job), :patch) %>
22
+ <% end %>
23
+ <% if valid_events.include?(:fail) && can?(:fail, @job) %>
24
+ <%= job_action_links_for_show('Fail', rocket_job_mission_control.fail_job_path(@job), :patch) %>
25
+ <% end %>
26
+ <% if valid_events.include?(:abort) && can?(:abort, @job) %>
27
+ <%= job_action_links_for_show('Abort', rocket_job_mission_control.abort_job_path(@job), :patch) %>
28
+ <% end %>
29
+ <% if can?(:destroy, @job) %>
30
+ <%= job_action_links_for_show('Destroy', rocket_job_mission_control.job_path(@job), :delete) %>
31
+ <% end %>
32
+ <% unless @job.completed? || @job.aborted? %>
21
33
  <div class='btn-group'>
22
- <%= job_action_links_for_show('Run', rocket_job_mission_control.run_now_job_path(@job), :patch) %>
34
+ <% if can?(:edit, @job) %>
35
+ <%= link_to 'Edit', edit_job_path(@job), class: 'btn btn-primary' %>
36
+ <% end %>
23
37
  </div>
24
38
  <% end %>
25
-
26
- <div class='left-margin'>
27
- <% valid_events = @job.aasm.events.collect { |e| e.name } %>
28
-
29
- <% if valid_events.include?(:pause) && @job.pausable? && can?(:pause, @job) %>
30
- <%= job_action_links_for_show('Pause', rocket_job_mission_control.pause_job_path(@job), :patch) %>
31
- <% end %>
32
-
33
- <% if valid_events.include?(:resume) && can?(:resume, @job) %>
34
- <%= job_action_links_for_show('Resume', rocket_job_mission_control.resume_job_path(@job), :patch) %>
35
- <% end %>
36
-
37
- <% if valid_events.include?(:retry) && can?(:retry, @job) %>
38
- <%= job_action_links_for_show('Retry', rocket_job_mission_control.retry_job_path(@job), :patch) %>
39
- <% end %>
40
-
41
- <% if valid_events.include?(:fail) && can?(:fail, @job) %>
42
- <%= job_action_links_for_show('Fail', rocket_job_mission_control.fail_job_path(@job), :patch) %>
43
- <% end %>
44
-
45
- <% if valid_events.include?(:abort) && can?(:abort, @job) %>
46
- <%= job_action_links_for_show('Abort', rocket_job_mission_control.abort_job_path(@job), :patch) %>
47
- <% end %>
48
-
49
- <% if can?(:destroy, @job) %>
50
- <%= job_action_links_for_show('Destroy', rocket_job_mission_control.job_path(@job), :delete) %>
51
- <% end %>
52
-
53
- <% unless @job.completed? || @job.aborted? %>
54
- <div class='btn-group'>
55
- <% if can?(:edit, @job) %>
56
- <%= link_to 'Edit', edit_job_path(@job), class: 'btn btn-primary' %>
57
- <% end %>
58
- </div>
59
- <% end %>
60
- </div>
61
39
  </div>
62
40
  </div>
41
+ </div>
63
42
  </div>
64
43
  </div>
65
-
66
- <div class='row'>
67
- <div class='col-md-12'>
68
- <%= render partial: 'status', locals: {job: @job} %>
69
- </div>
70
- </div>
44
+ <%= render partial: 'status', locals: {job: @job} %>
@@ -11,7 +11,7 @@
11
11
  <div class='clearfix'></div>
12
12
 
13
13
  <div class='message'>
14
- <pre><code><%= @failure_exception.message %></code></pre>
14
+ <pre><code class="language-html"><%= @failure_exception.message %></code></pre>
15
15
  </div>
16
16
 
17
17
  </div>
@@ -23,7 +23,9 @@
23
23
  <%= render partial: 'layouts/rocket_job_mission_control/partials/flash' %>
24
24
  <br>
25
25
  <% end %>
26
+
26
27
  <div class='message' tabindex="<%= index + 1 %>" id="<%= index + 1 %>">
28
+
27
29
  <pre><span>Line: <%= index + 1 %></span><br><br><code><%= line %></code><br><br>
28
30
  <% if can?(:edit_slice, @job) %><div class='edit_button'><%= link_to "Edit", edit_slice_job_path(@job, offset: @offset, error_type: @failure_exception.class_name, line_index: index), class: 'btn btn-primary' %></div><% end %><div class='edit_button'> <%= link_to "Back", job_path(@job), class: 'btn btn-warning' %></div>
29
31
  </pre>
@@ -41,7 +43,7 @@
41
43
  </div>
42
44
 
43
45
  <script>
44
- $(document).ready(function () {
45
- document.getElementById(<%= @view_slice_pagination[:record_number] %>).focus();
46
- });
46
+ $(document).ready(function () {
47
+ document.getElementById(<%= @view_slice_pagination[:record_number] %>).focus();
48
+ });
47
49
  </script>
@@ -1,8 +1,7 @@
1
- Rails.application.config.assets.precompile << proc do |path|
2
- true if path =~ /\.(eot|svg|ttf|woff)\z/
3
- end
4
-
1
+ Rails.application.config.assets.precompile << ["*.svg", "*.eot", "*.woff", "*.ttf"]
5
2
  Rails.application.config.assets.precompile += %w[
3
+ rocket_job_mission_control/application.css
4
+ rocket_job_mission_control/application.js
6
5
  rocket_job_mission_control/favicon.png
7
6
  rocket_job_mission_control/safari-pinned-tab.svg
8
7
  rocket_job_mission_control/favicon-16x16.png
data/config/routes.rb CHANGED
@@ -59,6 +59,10 @@ RocketJobMissionControl::Engine.routes.draw do
59
59
  member do
60
60
  put :enable
61
61
  put :disable
62
+ # Create the path: copy_dirmon_entry GET /dirmon_entries/:id/copy(.:format)
63
+ get :copy
64
+ # Create the path: PATCH /dirmon_entries/:id/replicate(.:format) rocket_job_mission_control/dirmon_entries#replicate
65
+ patch :replicate
62
66
  end
63
67
  end
64
68
 
@@ -8,9 +8,6 @@ module RocketJobMissionControl
8
8
  isolate_namespace RocketJobMissionControl
9
9
 
10
10
  require "rocketjob"
11
- require "jquery-rails"
12
- require "sass-rails"
13
- require "jquery-datatables-rails"
14
11
  require "access-granted"
15
12
  begin
16
13
  require "rocketjob_enterprise"
@@ -1,3 +1,3 @@
1
1
  module RocketJobMissionControl
2
- VERSION = "5.0.0.beta1".freeze
2
+ VERSION = "6.0.0".freeze
3
3
  end
@@ -13,22 +13,14 @@ module RocketJobMissionControl
13
13
  describe TestController do
14
14
  describe "#with_time_zone" do
15
15
  it "uses correct timezone with session and time_zone set" do
16
- if Rails.version.to_i >= 5
17
- session["time_zone"] = "America/Los_Angeles"
18
- get :index
19
- else
20
- get :index, {}, {"time_zone" => "America/Los_Angeles"}
21
- end
16
+ session["time_zone"] = "America/Los_Angeles"
17
+ get :index
22
18
  assert_equal "America/Los_Angeles", assigns(:time_zone).name
23
19
  end
24
20
 
25
21
  it "uses correct timezone with session, but no time_zone set" do
26
- if Rails.version.to_i >= 5
27
- session["user_id"] = "42"
28
- get :index
29
- else
30
- get :index, {}, {"user_id" => "42"}
31
- end
22
+ session["user_id"] = "42"
23
+ get :index
32
24
  assert_equal "UTC", assigns(:time_zone).name
33
25
  end
34
26
 
@@ -37,9 +37,7 @@ module RocketJobMissionControl
37
37
  describe "PATCH #enable" do
38
38
  describe "when transition is allowed" do
39
39
  before do
40
- params = {id: existing_dirmon_entry.id}
41
- params = {params: params} if Rails.version.to_i >= 5
42
- patch :enable, params
40
+ patch :enable, params: {id: existing_dirmon_entry.id}
43
41
  end
44
42
 
45
43
  it do
@@ -54,9 +52,7 @@ module RocketJobMissionControl
54
52
  describe "when transition is not allowed" do
55
53
  before do
56
54
  existing_dirmon_entry.enable!
57
- params = {id: existing_dirmon_entry.id}
58
- params = {params: params} if Rails.version.to_i >= 5
59
- patch :enable, params
55
+ patch :enable, params: {id: existing_dirmon_entry.id}
60
56
  end
61
57
 
62
58
  it "succeeds" do
@@ -64,7 +60,7 @@ module RocketJobMissionControl
64
60
  end
65
61
 
66
62
  it "alerts the user" do
67
- assert_equal I18n.t(:failure, scope: %i[dirmon_entry enable]), flash[:alert]
63
+ assert_equal I18n.t(:failure, scope: %i[dirmon_entry enable]), flash[:danger]
68
64
  end
69
65
  end
70
66
  end
@@ -73,9 +69,7 @@ module RocketJobMissionControl
73
69
  describe "when transition is allowed" do
74
70
  before do
75
71
  existing_dirmon_entry.enable!
76
- params = {id: existing_dirmon_entry.id}
77
- params = {params: params} if Rails.version.to_i >= 5
78
- patch :disable, params
72
+ patch :disable, params: {id: existing_dirmon_entry.id}
79
73
  end
80
74
 
81
75
  it do
@@ -89,9 +83,7 @@ module RocketJobMissionControl
89
83
 
90
84
  describe "when transition is not allowed" do
91
85
  before do
92
- params = {id: existing_dirmon_entry.id}
93
- params = {params: params} if Rails.version.to_i >= 5
94
- patch :disable, params
86
+ patch :disable, params: {id: existing_dirmon_entry.id}
95
87
  end
96
88
 
97
89
  it "succeeds" do
@@ -99,7 +91,7 @@ module RocketJobMissionControl
99
91
  end
100
92
 
101
93
  it "alerts the user" do
102
- assert_equal I18n.t(:failure, scope: %i[dirmon_entry disable]), flash[:alert]
94
+ assert_equal I18n.t(:failure, scope: %i[dirmon_entry disable]), flash[:danger]
103
95
  end
104
96
  end
105
97
  end
@@ -108,9 +100,7 @@ module RocketJobMissionControl
108
100
  let(:entry_params) { {} }
109
101
 
110
102
  before do
111
- params = entry_params
112
- params = {params: entry_params} if Rails.version.to_i >= 5
113
- get :new, params
103
+ get :new, params: entry_params
114
104
  end
115
105
 
116
106
  it "succeeds" do
@@ -163,8 +153,7 @@ module RocketJobMissionControl
163
153
  describe "with valid parameters" do
164
154
  before do
165
155
  params = {id: existing_dirmon_entry.id, rocket_job_dirmon_entry: {pattern: "the_path2", job_class_name: job_class_name}}
166
- params = {params: params} if Rails.version.to_i >= 5
167
- patch :update, params
156
+ patch :update, params: params
168
157
  end
169
158
 
170
159
  it "redirects to the updated entry" do
@@ -179,8 +168,7 @@ module RocketJobMissionControl
179
168
  describe "with invalid parameters" do
180
169
  before do
181
170
  params = {id: existing_dirmon_entry.id, rocket_job_dirmon_entry: {job_class_name: "FakeAndBadJob"}}
182
- params = {params: params} if Rails.version.to_i >= 5
183
- patch :update, params
171
+ patch :update, params: params
184
172
  end
185
173
 
186
174
  it "renders the edit template" do
@@ -209,9 +197,7 @@ module RocketJobMissionControl
209
197
  end
210
198
 
211
199
  before do
212
- params = {rocket_job_dirmon_entry: dirmon_params}
213
- params = {params: params} if Rails.version.to_i >= 5
214
- post :create, params
200
+ post :create, params: {rocket_job_dirmon_entry: dirmon_params}
215
201
  end
216
202
 
217
203
  it "creates the entry" do
@@ -250,9 +236,7 @@ module RocketJobMissionControl
250
236
  end
251
237
 
252
238
  before do
253
- params = {rocket_job_dirmon_entry: dirmon_params}
254
- params = {params: params} if Rails.version.to_i >= 5
255
- post :create, params
239
+ post :create, params: {rocket_job_dirmon_entry: dirmon_params}
256
240
  end
257
241
 
258
242
  describe "on model attributes" do
@@ -270,9 +254,7 @@ module RocketJobMissionControl
270
254
 
271
255
  describe "GET #edit" do
272
256
  before do
273
- params = {id: existing_dirmon_entry.id}
274
- params = {params: params} if Rails.version.to_i >= 5
275
- get :edit, params
257
+ get :edit, params: {id: existing_dirmon_entry.id}
276
258
  end
277
259
 
278
260
  it "succeeds" do
@@ -287,9 +269,7 @@ module RocketJobMissionControl
287
269
  describe "GET #show" do
288
270
  describe "with an invalid id" do
289
271
  before do
290
- params = {id: 42}
291
- params = {params: params} if Rails.version.to_i >= 5
292
- get :show, params
272
+ get :show, params: {id: 42}
293
273
  end
294
274
 
295
275
  it "redirects" do
@@ -297,15 +277,13 @@ module RocketJobMissionControl
297
277
  end
298
278
 
299
279
  it "adds a flash alert message" do
300
- assert_equal I18n.t(:failure, scope: %i[dirmon_entry find], id: 42), flash[:alert]
280
+ assert_equal I18n.t(:failure, scope: %i[dirmon_entry find], id: 42), flash[:danger]
301
281
  end
302
282
  end
303
283
 
304
284
  describe "with a valid id" do
305
285
  before do
306
- params = {id: existing_dirmon_entry.id}
307
- params = {params: params} if Rails.version.to_i >= 5
308
- get :show, params
286
+ get :show, params: {id: existing_dirmon_entry.id}
309
287
  end
310
288
 
311
289
  it "succeeds" do
@@ -321,9 +299,7 @@ module RocketJobMissionControl
321
299
  describe "DELETE #destroy" do
322
300
  describe "with a valid id" do
323
301
  before do
324
- params = {id: existing_dirmon_entry.id}
325
- params = {params: params} if Rails.version.to_i >= 5
326
- delete :destroy, params
302
+ delete :destroy, params: {id: existing_dirmon_entry.id}
327
303
  end
328
304
 
329
305
  it "redirects to index" do
@@ -464,9 +440,7 @@ module RocketJobMissionControl
464
440
  %i[admin editor operator manager dirmon].each do |role|
465
441
  it "allows role #{role} to access #{method}" do
466
442
  set_role(role)
467
- params = {id: existing_dirmon_entry.id}
468
- params = {params: params} if Rails.version.to_i >= 5
469
- patch :enable, params
443
+ patch :enable, params: {id: existing_dirmon_entry.id}
470
444
 
471
445
  assert_response(:redirect)
472
446
  end
@@ -478,9 +452,7 @@ module RocketJobMissionControl
478
452
  %i[admin editor operator manager dirmon].each do |role|
479
453
  it "creates dirmon entry" do
480
454
  set_role(role)
481
- params = {rocket_job_dirmon_entry: dirmon_params}
482
- params = {params: params} if Rails.version.to_i >= 5
483
- post :create, params
455
+ post :create, params: {rocket_job_dirmon_entry: dirmon_params}
484
456
 
485
457
  assert_response(:redirect)
486
458
  end
@@ -488,9 +460,7 @@ module RocketJobMissionControl
488
460
 
489
461
  it "deletes dirmon entry" do
490
462
  set_role(:admin)
491
- params = {id: existing_dirmon_entry.id}
492
- params = {params: params} if Rails.version.to_i >= 5
493
- delete :destroy, params
463
+ delete :destroy, params: {id: existing_dirmon_entry.id}
494
464
 
495
465
  assert_response(:redirect)
496
466
  end
@@ -499,9 +469,7 @@ module RocketJobMissionControl
499
469
  it "raises authentication error for #{role}" do
500
470
  set_role(role)
501
471
  assert_raises AccessGranted::AccessDenied do
502
- params = {id: existing_dirmon_entry.id}
503
- params = {params: params} if Rails.version.to_i >= 5
504
- delete :destroy, params
472
+ delete :destroy, params: {id: existing_dirmon_entry.id}
505
473
  end
506
474
  end
507
475
  end