rocketjob_mission_control 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|