rocketjob_mission_control 1.1.0 → 1.2.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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/rocket_job_mission_control/dirmon_entries.js.coffee +18 -0
- data/app/assets/stylesheets/rocket_job_mission_control/base.scss +33 -59
- data/app/assets/stylesheets/rocket_job_mission_control/bootstrap_and_overrides.scss +12 -0
- data/app/assets/stylesheets/rocket_job_mission_control/callout.scss +8 -0
- data/app/assets/stylesheets/rocket_job_mission_control/jobs.scss +35 -0
- data/app/controllers/rocket_job_mission_control/application_controller.rb +0 -2
- data/app/controllers/rocket_job_mission_control/dirmon_entries_controller.rb +125 -0
- data/app/controllers/rocket_job_mission_control/jobs/failures_controller.rb +31 -0
- data/app/helpers/rocket_job_mission_control/application_helper.rb +7 -0
- data/app/helpers/rocket_job_mission_control/jobs_helper.rb +18 -11
- data/app/helpers/rocket_job_mission_control/pagination_helper.rb +7 -0
- data/app/helpers/rocket_job_mission_control/slices_helper.rb +9 -0
- data/app/models/job_failures.rb +30 -0
- data/app/views/layouts/rocket_job_mission_control/application.html.haml +3 -1
- data/app/views/layouts/rocket_job_mission_control/partials/_header.html.haml +2 -2
- data/app/views/layouts/rocket_job_mission_control/partials/_sidebar.html.haml +4 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/_form.html.haml +36 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/_list.html.haml +31 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/_properties.html.haml +8 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/_status.html.haml +23 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/edit.html.haml +8 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/index.html.haml +11 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/new.html.haml +9 -0
- data/app/views/rocket_job_mission_control/dirmon_entries/show.html.haml +26 -0
- data/app/views/rocket_job_mission_control/jobs/_list.html.haml +34 -30
- data/app/views/rocket_job_mission_control/jobs/failures/_pagination.html.haml +16 -0
- data/app/views/rocket_job_mission_control/jobs/failures/index.html.haml +32 -0
- data/app/views/rocket_job_mission_control/jobs/index.html.haml +10 -8
- data/app/views/rocket_job_mission_control/jobs/running.html.haml +1 -1
- data/app/views/rocket_job_mission_control/jobs/show.html.haml +39 -35
- data/app/views/rocket_job_mission_control/workers/_actions.html.haml +4 -4
- data/app/views/rocket_job_mission_control/workers/index.html.haml +50 -45
- data/config/locales/en.yml +23 -1
- data/config/routes.rb +8 -0
- data/lib/rocket_job_mission_control/version.rb +1 -1
- data/spec/controllers/dirmon_entries_controller_spec.rb +451 -0
- data/spec/controllers/jobs/failures_controller_spec.rb +60 -0
- data/spec/dummy/config/environments/test.rb +1 -1
- data/spec/dummy/config/mongo.yml +15 -0
- data/spec/dummy/log/development.log +2 -0
- data/spec/dummy/log/test.log +52763 -2015
- data/spec/helpers/jobs_helper_spec.rb +27 -0
- data/spec/helpers/pagination_helper_spec.rb +21 -0
- data/spec/helpers/slices_helper_spec.rb +33 -0
- data/spec/models/job_failures_spec.rb +14 -0
- data/spec/views/workers/index.html.haml_spec.rb +23 -0
- metadata +35 -4
@@ -5,6 +5,10 @@ module RocketJobMissionControl
|
|
5
5
|
end
|
6
6
|
|
7
7
|
RSpec.describe JobsHelper, type: :helper do
|
8
|
+
before do
|
9
|
+
helper.extend(RocketJobMissionControl::ApplicationHelper)
|
10
|
+
end
|
11
|
+
|
8
12
|
describe '#job_state_icon' do
|
9
13
|
JobsHelper::STATE_ICON_MAP.each do |state, expected_class|
|
10
14
|
context "when the job state is #{state}" do
|
@@ -15,6 +19,29 @@ module RocketJobMissionControl
|
|
15
19
|
end
|
16
20
|
end
|
17
21
|
|
22
|
+
describe '#job_action_link' do
|
23
|
+
let(:action) { 'abort' }
|
24
|
+
let(:http_method) { :patch }
|
25
|
+
let(:path) { "/jobs/42/#{action}" }
|
26
|
+
let(:action_link) { helper.job_action_link(action, path, http_method) }
|
27
|
+
|
28
|
+
it 'uses the action as the label' do
|
29
|
+
expect(action_link).to match(/>abort<\/a>/)
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'links to the correct url' do
|
33
|
+
expect(action_link).to match(/href="\/jobs\/42\/abort\"/)
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'adds prompt for confirmation' do
|
37
|
+
expect(action_link).to match(/data-confirm="Are you sure you want to abort this job\?"/)
|
38
|
+
end
|
39
|
+
|
40
|
+
it 'uses correct http method' do
|
41
|
+
expect(action_link).to match(/data-method="patch"/)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
18
45
|
describe '#pretty_print_array_or_hash' do
|
19
46
|
let(:arguments) { [42, "muad'dib"] }
|
20
47
|
let(:helper_output) { helper.pretty_print_array_or_hash(arguments) }
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module RocketJobMissionControl
|
4
|
+
RSpec.describe PaginationHelper, type: :helper do
|
5
|
+
describe '#page_nav_disabled_class' do
|
6
|
+
|
7
|
+
context 'when the current position equals the boundary' do
|
8
|
+
it 'returns disabled' do
|
9
|
+
expect(helper.page_nav_disabled_class(0, 0)).to eq('disabled')
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'when the current position is NOT equal to the boundary' do
|
14
|
+
it 'returns blank' do
|
15
|
+
expect(helper.page_nav_disabled_class(4, 0)).to be_blank
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module RocketJobMissionControl
|
4
|
+
RSpec.describe SlicesHelper, type: :helper do
|
5
|
+
before do
|
6
|
+
helper.extend(RocketJobMissionControl::ApplicationHelper)
|
7
|
+
end
|
8
|
+
|
9
|
+
describe '#display_slice_info' do
|
10
|
+
let(:slice) { { id: 42, name: 'test' } }
|
11
|
+
|
12
|
+
context "when encrypted" do
|
13
|
+
it { expect(helper.display_slice_info(slice, true)).to eq('encrypted') }
|
14
|
+
end
|
15
|
+
|
16
|
+
context "when unencrypted" do
|
17
|
+
before do
|
18
|
+
allow(helper).to receive(:pretty_print_array_or_hash)
|
19
|
+
end
|
20
|
+
|
21
|
+
it "does not return 'encrypted'" do
|
22
|
+
expect(helper.display_slice_info(slice, false)).to_not eq('encrypted')
|
23
|
+
end
|
24
|
+
|
25
|
+
it "displays the slice info" do
|
26
|
+
helper.display_slice_info(slice, false)
|
27
|
+
expect(helper).to have_received(:pretty_print_array_or_hash).with(slice.to_a)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
RSpec.describe JobFailures do
|
4
|
+
describe '#job' do
|
5
|
+
before do
|
6
|
+
allow(RocketJob::Job).to receive(:find)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'looks up the job' do
|
10
|
+
described_class.new(42).job
|
11
|
+
expect(RocketJob::Job).to have_received(:find).with(42)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module RocketJobMissionControl
|
4
|
+
class FakeWorker < OpenStruct
|
5
|
+
end
|
6
|
+
|
7
|
+
RSpec.describe 'rocket_job_mission_control/workers/index.html.haml', type: :view do
|
8
|
+
before do
|
9
|
+
assign(:workers, [
|
10
|
+
FakeWorker.new(
|
11
|
+
name: 'Worker42',
|
12
|
+
heartbeat: spy(current_threads: 42),
|
13
|
+
started_at: 1.minute.ago,
|
14
|
+
),
|
15
|
+
])
|
16
|
+
render
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'displays the worker' do
|
20
|
+
expect(rendered).to include('Worker42')
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rocketjob_mission_control
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Cloutier
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-08-
|
12
|
+
date: 2015-08-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -87,14 +87,14 @@ dependencies:
|
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: '1.
|
90
|
+
version: '1.1'
|
91
91
|
type: :runtime
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: '1.
|
97
|
+
version: '1.1'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
99
|
name: mongo_ha
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +164,7 @@ files:
|
|
164
164
|
- app/assets/images/rocket_job_mission_control/rocket-icon-64x64.png
|
165
165
|
- app/assets/javascripts/rocket_job_mission_control/application.js
|
166
166
|
- app/assets/javascripts/rocket_job_mission_control/base.js.coffee
|
167
|
+
- app/assets/javascripts/rocket_job_mission_control/dirmon_entries.js.coffee
|
167
168
|
- app/assets/javascripts/rocket_job_mission_control/jobs.js.coffee
|
168
169
|
- app/assets/stylesheets/rocket_job_mission_control/application.scss
|
169
170
|
- app/assets/stylesheets/rocket_job_mission_control/base.scss
|
@@ -172,16 +173,31 @@ files:
|
|
172
173
|
- app/assets/stylesheets/rocket_job_mission_control/jobs.scss
|
173
174
|
- app/assets/stylesheets/rocket_job_mission_control/jquery.bootstrap-touchspin.scss
|
174
175
|
- app/controllers/rocket_job_mission_control/application_controller.rb
|
176
|
+
- app/controllers/rocket_job_mission_control/dirmon_entries_controller.rb
|
177
|
+
- app/controllers/rocket_job_mission_control/jobs/failures_controller.rb
|
175
178
|
- app/controllers/rocket_job_mission_control/jobs_controller.rb
|
176
179
|
- app/controllers/rocket_job_mission_control/workers_controller.rb
|
177
180
|
- app/helpers/rocket_job_mission_control/application_helper.rb
|
178
181
|
- app/helpers/rocket_job_mission_control/jobs_helper.rb
|
182
|
+
- app/helpers/rocket_job_mission_control/pagination_helper.rb
|
183
|
+
- app/helpers/rocket_job_mission_control/slices_helper.rb
|
179
184
|
- app/helpers/rocket_job_mission_control/workers_helper.rb
|
185
|
+
- app/models/job_failures.rb
|
180
186
|
- app/views/layouts/rocket_job_mission_control/application.html.haml
|
181
187
|
- app/views/layouts/rocket_job_mission_control/partials/_header.html.haml
|
182
188
|
- app/views/layouts/rocket_job_mission_control/partials/_sidebar.html.haml
|
189
|
+
- app/views/rocket_job_mission_control/dirmon_entries/_form.html.haml
|
190
|
+
- app/views/rocket_job_mission_control/dirmon_entries/_list.html.haml
|
191
|
+
- app/views/rocket_job_mission_control/dirmon_entries/_properties.html.haml
|
192
|
+
- app/views/rocket_job_mission_control/dirmon_entries/_status.html.haml
|
193
|
+
- app/views/rocket_job_mission_control/dirmon_entries/edit.html.haml
|
194
|
+
- app/views/rocket_job_mission_control/dirmon_entries/index.html.haml
|
195
|
+
- app/views/rocket_job_mission_control/dirmon_entries/new.html.haml
|
196
|
+
- app/views/rocket_job_mission_control/dirmon_entries/show.html.haml
|
183
197
|
- app/views/rocket_job_mission_control/jobs/_list.html.haml
|
184
198
|
- app/views/rocket_job_mission_control/jobs/_status.html.haml
|
199
|
+
- app/views/rocket_job_mission_control/jobs/failures/_pagination.html.haml
|
200
|
+
- app/views/rocket_job_mission_control/jobs/failures/index.html.haml
|
185
201
|
- app/views/rocket_job_mission_control/jobs/index.html.haml
|
186
202
|
- app/views/rocket_job_mission_control/jobs/running.html.haml
|
187
203
|
- app/views/rocket_job_mission_control/jobs/show.html.haml
|
@@ -194,6 +210,8 @@ files:
|
|
194
210
|
- lib/rocketjob_mission_control.rb
|
195
211
|
- lib/tasks/rocket_job_mission_control_tasks.rake
|
196
212
|
- spec/controllers/application_controller_spec.rb
|
213
|
+
- spec/controllers/dirmon_entries_controller_spec.rb
|
214
|
+
- spec/controllers/jobs/failures_controller_spec.rb
|
197
215
|
- spec/controllers/jobs_controller_spec.rb
|
198
216
|
- spec/controllers/workers_controller_spec.rb
|
199
217
|
- spec/dummy/README.rdoc
|
@@ -222,6 +240,7 @@ files:
|
|
222
240
|
- spec/dummy/config/initializers/session_store.rb
|
223
241
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
224
242
|
- spec/dummy/config/locales/en.yml
|
243
|
+
- spec/dummy/config/mongo.yml
|
225
244
|
- spec/dummy/config/routes.rb
|
226
245
|
- spec/dummy/config/secrets.yml
|
227
246
|
- spec/dummy/log/development.log
|
@@ -231,8 +250,12 @@ files:
|
|
231
250
|
- spec/dummy/public/500.html
|
232
251
|
- spec/dummy/public/favicon.ico
|
233
252
|
- spec/helpers/jobs_helper_spec.rb
|
253
|
+
- spec/helpers/pagination_helper_spec.rb
|
254
|
+
- spec/helpers/slices_helper_spec.rb
|
255
|
+
- spec/models/job_failures_spec.rb
|
234
256
|
- spec/rails_helper.rb
|
235
257
|
- spec/spec_helper.rb
|
258
|
+
- spec/views/workers/index.html.haml_spec.rb
|
236
259
|
- vendor/assets/javascripts/jquery.bootstrap-touchspin.js
|
237
260
|
- vendor/assets/javascripts/prism.js
|
238
261
|
- vendor/assets/stylesheets/jquery.bootstrap-touchspin.css
|
@@ -263,6 +286,8 @@ specification_version: 4
|
|
263
286
|
summary: Mission Control is the Web user interface to manage rocketjob jobs
|
264
287
|
test_files:
|
265
288
|
- spec/controllers/application_controller_spec.rb
|
289
|
+
- spec/controllers/dirmon_entries_controller_spec.rb
|
290
|
+
- spec/controllers/jobs/failures_controller_spec.rb
|
266
291
|
- spec/controllers/jobs_controller_spec.rb
|
267
292
|
- spec/controllers/workers_controller_spec.rb
|
268
293
|
- spec/dummy/app/assets/javascripts/application.js
|
@@ -288,6 +313,7 @@ test_files:
|
|
288
313
|
- spec/dummy/config/initializers/session_store.rb
|
289
314
|
- spec/dummy/config/initializers/wrap_parameters.rb
|
290
315
|
- spec/dummy/config/locales/en.yml
|
316
|
+
- spec/dummy/config/mongo.yml
|
291
317
|
- spec/dummy/config/routes.rb
|
292
318
|
- spec/dummy/config/secrets.yml
|
293
319
|
- spec/dummy/config.ru
|
@@ -300,5 +326,10 @@ test_files:
|
|
300
326
|
- spec/dummy/Rakefile
|
301
327
|
- spec/dummy/README.rdoc
|
302
328
|
- spec/helpers/jobs_helper_spec.rb
|
329
|
+
- spec/helpers/pagination_helper_spec.rb
|
330
|
+
- spec/helpers/slices_helper_spec.rb
|
331
|
+
- spec/models/job_failures_spec.rb
|
303
332
|
- spec/rails_helper.rb
|
304
333
|
- spec/spec_helper.rb
|
334
|
+
- spec/views/workers/index.html.haml_spec.rb
|
335
|
+
has_rdoc:
|